c++中的c_str()用法


語法: const char *c_str();

c_str()函數返回一個指向正規C字符串的指針, 內容與本string串相同. 

這是為了與c語言兼容,在c語言中沒有string類型,故必須通過string類對象的成員函數c_str()把string 對象轉換成c中的字符串樣式。

注意:一定要使用strcpy()函數 等來操作方法c_str()返回的指針 

1、比如:最好不要這樣: 

char* c;

string s="1234";

c = s.c_str(); //c最后指向的內容是垃圾,因為s對象被析構,所以不能直接利用c_str返回的字符串,要利用strcpy等函數進行復制后再使用

2、其內容被處理應該這樣用: 

char c[20];

string s="1234";

strcpy(c,s.c_str()); 

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

3、再舉個例子c_str() 以 char* 形式傳回 string 內含字符串如果一個函數要求char*參數,可以使用c_str()方法:

string s = "Hello World!";

printf("%s", s.c_str()); //輸出 "Hello World!"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM