C==如何将string转化成char*
时间: 2023-10-09 14:04:29 浏览: 109
C语言中char型转string
3星 · 编辑精心推荐
将 C++ 中的 std::string 类型转换为 C 语言中的 char* 类型,可以使用 string 类的 c_str() 函数。c_str() 函数返回一个指向正规 C 字符串的指针常量,内容与 string 对象相同。该指针可以用于作为参数传递给 C 函数,或者用于其他需要使用 C 风格字符串的情况。例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
char* cstr = &str[0]; // 也可以使用 c_str() 函数:char* cstr = str.c_str();
cout << cstr << endl;
return 0;
}
```
需要注意的是,c_str() 函数返回的是指向字符串的指针常量,不能通过该指针修改字符串的内容,否则会导致未定义的行为,甚至崩溃。如果需要修改字符串的内容,可以将其复制到一个可变的字符数组中。
阅读全文