c++中string类型转换char[]
时间: 2023-10-29 13:04:43 浏览: 54
可以使用`c_str()`函数将`string`类型转换为`char`数组。
例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World";
const char* charArr = str.c_str();
cout << charArr << endl;
return 0;
}
```
输出:
```
Hello World
```
相关问题
c++中string转换为char
将C++中的`std::string`类型转换为C语言中的`char`类型数组可以通过以下两种方式实现:
1. 使用`c_str()`函数
`c_str()`函数可以返回一个指向`string`对象中存储的C风格字符串的指针,因此可以通过将其赋值给`char`类型数组来实现转换。
示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_arr[str.size() + 1];
strcpy(char_arr, str.c_str());
std::cout << char_arr << std::endl;
return 0;
}
```
2. 使用`copy()`函数
`copy()`函数可以将`string`对象中的字符复制到指定的字符数组中,因此也可以通过使用`copy()`函数来实现转换。
示例代码如下:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_arr[str.size() + 1];
str.copy(char_arr, str.size() + 1);
char_arr[str.size()] = '\0';
std::cout << char_arr << std::endl;
return 0;
}
```
需要注意的是,在使用`copy()`函数时,需要在字符数组的最后一个位置添加空字符(`\0`),以确保字符数组以空字符结尾,否则可能会出现不可预期的结果。
c++ 中 转换string 为 char数组
在C++中,可以使用`strcpy`函数将`string`类型转换为`char`数组。具体实现方法如下所示:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string str = "Hello World!";
char char_array[str.length() + 1];
strcpy(char_array, str.c_str());
cout << "The char array is: " << char_array << endl;
return 0;
}
```
在上述代码中,首先定义了一个`string`类型的变量`str`,并将其初始化为`"Hello World!"`。然后,定义了一个`char`类型的数组`char_array`,其长度为`str.length() + 1`,即字符串长度加1。接着,使用`strcpy`函数将`str.c_str()`的值复制到`char_array`中。最后,输出`char_array`的值。