c++ c_str()函數(shù)
Posted on 2010-08-12 13:35 幻海藍(lán)夢(mèng) 閱讀(557) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): C++ 原文:http://www.dnbcw.com/biancheng/c/fldh74939.html
1.string類(lèi)成員函數(shù)c_str()的原型:
const char *c_str()const;//返回一個(gè)以null終止的c字符串
2.c_str()函數(shù)返回一個(gè)指向正規(guī)c字符串的指針,內(nèi)容和string類(lèi)的本身對(duì)象是一樣的,通過(guò)string類(lèi)的c_str()函數(shù)能夠把string對(duì)象轉(zhuǎn)換成c中的字符串的樣式;
3.操作c_str()函數(shù)的返回值時(shí),只能使用c字符串的操作函數(shù),如:strcpy()等函數(shù).因?yàn)?string對(duì)象可能在使用后被析構(gòu)函數(shù)釋放掉,那么你所指向的內(nèi)容就具有不確定性.
eg:
char * name[20];
string ptr = "tongnono";
strcpy(name,ptr.c_str());//c_str()返回的是一個(gè)臨時(shí)的指針變量,不能對(duì)其操作.