在C++中,c_str()
是一個成員函數,可用于將std::string
對象轉換為C風格的字符串(以null結尾的字符數組)。這在需要將std::string
對象傳遞給接受C風格字符串作為參數的函數或庫時非常有用。
例如:
#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;
}
請注意,c_str()
函數返回的指針指向std::string
對象內部的字符數組,因此當std::string
對象被銷毀時,該指針將變為懸空。因此,應謹慎使用c_str()
函數,確保在其返回的指針不再需要時不再使用。