将字符串转化为char数组的c++代码
时间: 2023-10-11 20:05:53 浏览: 117
以下是将字符串转化为char数组的c代码:
```
char str[] = "Hello World";
int len = strlen(str);
char arr[len+1];
strcpy(arr, str);
```
其中,通过`strlen()`函数获取字符串的长度,再通过`strcpy()`函数将字符串复制到字符数组中。注意,字符数组需要比字符串的长度大1,以保证最后一位为字符串末尾的空字符。
相关问题
c++ 将类型为string的字符串转换为char数组类型
将类型为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`数组的长度。
把字符串转化为char数组
在C++中,可以使用以下两种方式将字符串转换为char数组:
1. 使用strcpy函数复制字符串到char数组中
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "Hello World!";
char cstr[str.size() + 1];
strcpy(cstr, str.c_str());
cout << "Converted char array: " << cstr << endl;
return 0;
}
```
2. 使用循环将字符串中的每个字符复制到char数组中
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string str = "Hello World!";
char cstr[str.size() + 1];
for (int i = 0; i < str.size(); i++) {
cstr[i] = str[i];
}
cstr[str.size()] = '\0'; // 添加字符串结尾标志
cout << "Converted char array: " << cstr << endl;
return 0;
}
```
注意,在上述两种方法中,我们需要为char数组分配足够的空间来存储字符串,并在最后添加字符串结尾标志'\0'。
阅读全文