c++ 将类型为string的字符串转换为char数组类型
时间: 2023-06-02 09:04:19 浏览: 81
将类型为string的字符串转换为char数组类型的方法有很多,以下是其中一种实现方式:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "hello";
int len = s.length(); //获取字符串长度
char c[len+1]; //定义char数组,长度为字符串长度+1
strcpy(c, s.c_str()); //将字符串s转换为char数组c
cout << c << endl; //输出char数组c
return 0;
}
```
以上代码使用`string`的`c_str()`方法将字符串`s`转换为`const char*`类型的C风格字符串,再使用`strcpy()`函数将C风格字符串复制到定义好的`char`数组中。最后输出`char`数组即可。
需要注意的是,由于`char`数组的长度必须提前定义,因此需要通过`string`的`length()`方法获取字符串长度,并将其加1定义为`char`数组的长度。
相关问题
c++将字符数组转换为字符串
可以使用C++中的string类来将字符数组转换为字符串。具体实现方法如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
char arr[] = "hello world"; // 定义一个字符数组
string str = arr; // 将字符数组转换为字符串
cout << str << endl; // 输出字符串
return 0;
}
```
输出结果为:
```
hello world
```
在上面的例子中,我们首先定义了一个字符数组 `arr`,然后使用 `string` 类型的构造函数将其转换为字符串 `str`,最后输出字符串 `str`。
需要注意的是,当字符数组中包含空字符('\0')时,转换后的字符串只会包含空字符之前的内容,空字符之后的内容会被丢弃。
c++将字符串转换为字符数组
可以使用以下两种方法将字符串转换为字符数组:
1. 使用string类提供的函数c_str(),将string类型转换为const char*类型,然后使用strcpy()函数将const char*类型转换为char类型的字符数组。
2. 使用string类提供的函数copy(),将string类型的字符串复制到char类型的字符数组中。需要注意的是,字符数组的长度要足够大以容纳整个字符串,并且在字符数组的末尾添加'\0'作为字符串的结束符。