c_str()的用法具體解析。本站提示廣大學習愛好者:(c_str()的用法具體解析)文章只能為提供參考,不一定能成為您想要的結果。以下是c_str()的用法具體解析正文
const char *c_str();
c_str()函數前往一個指向正軌C字符串的指針, 內容與本string串雷同.
c_str()就是把string類對象轉換成和c兼容的char *類型。
這是為了與c說話兼容,在c說話中沒有string類型,故必需經由過程string類對象的成員函數c_str()把string 對象轉換成c中的字符串款式。
留意:必定要應用strcpy()函數 等來操作辦法c_str()前往的指針
好比:最好不要如許:
char* c;
string s="1234";
c = s.c_str(); //c最初指向的內容是渣滓,由於s對象被析構,其內容被處置
應當如許用:
char c[20];
string s="1234";
strcpy(c,s.c_str());
如許才不會失足,c_str()前往的是一個暫時指針,不克不及對其停止操作
再舉個例子
c_str() 以 char* 情勢傳回 string 內含字符串
假如一個函數請求char*參數,可使用c_str()辦法:
string s = "Hello World!";
printf("%s", s.c_str()); //輸入 "Hello World!"