c++中string類成員函數(shù)c_str()的用法
1.string類成員函數(shù)c_str()的原型:
const char *c_str()const;//返回一個以null終止的c字符串
2.c_str()函數(shù)返回一個指向正規(guī)c字符串的指針,內(nèi)容和string類的本身對象是一樣的,通過string類的c_str()函數(shù)能夠把string對象轉(zhuǎn)換成c中的字符串的樣式;
3.操作c_str()函數(shù)的返回值時,只能使用c字符串的操作函數(shù),如:strcpy()等函數(shù).因為,string對象可能在使用后被析構(gòu)函數(shù)釋放掉,那么你所指向的內(nèi)容就具有不確定性.
eg:
char * name[20];
string ptr = "tongnono";
strcpy(name,ptr.c_str());//c_str()返回的是一個臨時的指針變量,不能對其操作.
相關(guān)文章
C語言類型轉(zhuǎn)換與常量的細節(jié)深入理解探究
這篇文章主要為大家介紹了C?語言類型轉(zhuǎn)換與常量的細節(jié)深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
C語言動態(tài)數(shù)組的使用實現(xiàn)代碼
這篇文章主要介紹了C語言動態(tài)數(shù)組的使用實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01
Linux下用Valgrind做檢查(防止內(nèi)存泄露)
Valgrind是一款基于模擬linux下的程序調(diào)試器和剖析器的軟件套件,可以運行于x86, amd64和ppc32架構(gòu)上。valgrind包含一個核心,它提供一個虛擬的CPU運行程序,還有一系列的工具,它們完成調(diào)試,剖析和一些類似的任務(wù)2014-01-01
C/C++ 多線程的學(xué)習(xí)心得總結(jié)
本篇文章是對C/C++中多線程的學(xué)習(xí)心得總結(jié)進行了詳細的分析介紹,需要的朋友參考下2013-05-05

