在C++中,c_str()
是一個(gè)成員函數(shù),可用于將std::string
對(duì)象轉(zhuǎn)換為C風(fēng)格的字符串(以null結(jié)尾的字符數(shù)組)。這在需要將std::string
對(duì)象傳遞給接受C風(fēng)格字符串作為參數(shù)的函數(shù)或庫(kù)時(shí)非常有用。
例如:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
const char* cstr = str.c_str();
std::cout << "C-style string: " << cstr << std::endl;
return 0;
}
請(qǐng)注意,c_str()
函數(shù)返回的指針指向std::string
對(duì)象內(nèi)部的字符數(shù)組,因此當(dāng)std::string
對(duì)象被銷(xiāo)毀時(shí),該指針將變?yōu)閼铱?。因此,?yīng)謹(jǐn)慎使用c_str()
函數(shù),確保在其返回的指針不再需要時(shí)不再使用。