c++将string转化为char
时间: 2023-03-20 16:02:27 浏览: 289
您好,要将C++中的string类型转换为char数组,可以使用c_str()函数。该函数将string类型转换为C-style的字符串,即以'\0'结尾的字符数组,示例如下:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello world";
const char* cstr = str.c_str(); // 将string类型转换为C-style的字符串
cout << cstr << endl; // 输出字符数组
return 0;
}
```
上述代码将string类型的变量str转换为char类型的指针cstr,并输出字符数组。
相关问题
C++将string转化为char
将string类型转换为char类型可以使用string的c_str()函数,该函数返回一个指向以空字符结尾的字符数组的指针,即一个const char*类型的指针,可以将该指针赋值给一个char类型的数组或指针变量,从而实现string到char类型的转换,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
const char* char_ptr = str.c_str();
char char_arr[20];
strcpy(char_arr, char_ptr);
cout << char_arr << endl;
return 0;
}
```
上述代码将一个string类型的变量str转换为了一个char类型的数组char_arr,并输出了该数组的内容。注意,使用c_str()函数返回的指针变量是一个指向const char类型的指针,因此如果需要修改其指向的字符数组中的元素,需要先将其复制到一个可修改的char类型的数组中。
C++将string转换为char数组
可以使用string类中的c_str()函数将string类型转换为char数组。
例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World!";
char char_arr[str.size() + 1]; // 加1是为了给'\0'留出空间
strcpy(char_arr, str.c_str()); // 使用c_str()函数将string类型转换为char数组
cout << char_arr << endl;
return 0;
}
```
输出结果为:
```
Hello World!
```
需要注意的是,使用c_str()函数返回的指针指向的是一个临时的字符数组,其生命周期与string对象相同。因此,如果在char数组中需要长期保存string对象中的内容,需要将其复制到新的内存空间中。
阅读全文