1. 程式人生 > 實用技巧 >C++中c_str()

C++中c_str()

1.要用strcpy

https://zhidao.baidu.com/question/104592558.html

char c[20];

string s="1234";

strcpy(c,s.c_str());

//這樣才不會出錯,c_str()返回的是一個臨時指標,不能對其進行操作。

下面是個反面例子:

constchar*c;//定義了一個常量指標

std::strings="1234";

c=s.c_str();#指向了一個臨時指標

std::cout<<c<<std::endl;//輸出:1234

s="abcd";//之後s變化了c的值也會發生變化

std::cout
<<c<<std::endl;//輸出:abcd // 上面如果繼續用c指標的話,導致的錯誤將是不可想象的,就如:1234變為abcd。

2.strcpy

函式原型 char *strcpy(char *dest,const char *src):

從src地址開始且含有null結束符的字串複製到以dest地址開始的字串中,並返回指向dest的指標。

上面已經給出了例子。