`c_str()` 是 C++ 标准库中的一个成员函数,主要用于将 `std::string` 对象转换为传统的 C 风格字符串(即以 null 结尾的字符数组)。这个函数通常用在需要将 `std::string` 对象传递给接受 C 风格字符串参数的函数时。
这里是 `c_str()` 函数的基本用法:
```cpp
#include
#include
int main() {
std::string str = "Hello, World!";
const char* cStr = str.c_str(); // 将 std::string 转换为 C 风格字符串
std::cout << cStr << std::endl; // 输出:Hello, World!
return 0;
}
```
在这个例子中,我们首先创建了一个 `std::string` 对象 `str`,然后使用 `c_str()` 函数将其转换为 C 风格字符串 `cStr`。然后,我们可以像处理普通的 C 风格字符串一样使用 `cStr`。需要注意的是,通过 `c_str()` 获得的指针指向的是 `std::string` 内部存储的字符数组,这个数组在 `std::string` 对象生命周期内是有效的。一旦 `std::string` 对象被销毁或修改,这个指针可能会变得无效。因此,在使用 `c_str()` 时需要谨慎处理其生命周期问题。