C++中的c_str()函数用法
生活随笔
收集整理的這篇文章主要介紹了
C++中的c_str()函数用法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
<span style="font-size: 14px;">語法:
const char *c_str();
c_str()函數(shù)返回一個指向正規(guī)C字符串的指針常量, 內(nèi)容與本string串相同.
這是為了與c語言兼容,在c語言中沒有string類型,故必須通過string類對象的成員函數(shù)c_str()把string 對象轉(zhuǎn)換成c中的字符串樣式。
注意:一定要使用strcpy()函數(shù) 等來操作方法c_str()返回的指針
比如:最好不要這樣:
char* c;
string s="1234";
c = s.c_str(); //c最后指向的內(nèi)容是垃圾,因為s對象被析構(gòu),其內(nèi)容被處理,同時,編譯器也將報錯——將一個const char *賦與一個char *。應(yīng)該這樣用:
char c[20];
string s="1234";
strcpy(c,s.c_str());
這樣才不會出錯,c_str()返回的是一個臨時指針,不能對其進行操作再舉個例子
</span><strong><span style="font-size:18px;">c_str() 以 char* 形式傳回 string 內(nèi)含字符串
如果一個函數(shù)要求char*參數(shù),可以使用c_str()方法: </span></strong><span style="font-size: 14px;">
string s = "Hello World!";
printf("%s", s.c_str()); //輸出 "Hello World!"</span>
總結(jié)
以上是生活随笔為你收集整理的C++中的c_str()函数用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++读取txt中每行的数据到数组中
- 下一篇: 在Matlab中使用mex函数进行C/C