string转char数组
时间: 2023-09-06 14:11:10 浏览: 65
string和char*
4星 · 用户满意度95%
可以使用以下方法将string转换为char数组:
1. 使用c_str()方法:
```cpp
string s = "hello";
const char* c = s.c_str();
```
上面的代码使用了string类的c_str()方法来将字符串转换为const char*类型的指针。这个指针指向一个包含字符串内容的字符数组。如果需要将其存储到char数组中,可以使用strcpy函数:
```cpp
char arr[6];
strcpy(arr, c);
```
2. 使用copy方法:
```cpp
string s = "hello";
char arr[6];
copy(s.begin(), s.end(), arr);
```
上面的代码使用了STL中的copy算法,将字符串s的内容复制到char数组arr中。请注意,char数组必须足够大,以容纳字符串和一个空字符'\0'。
3. 使用循环:
```cpp
string s = "hello";
char arr[6];
for(int i=0; i<s.size(); i++)
arr[i] = s[i];
arr[s.size()] = '\0';
```
上面的代码使用了一个循环,将字符串s的每个字符复制到char数组arr中。最后,必须在数组末尾添加一个空字符'\0',以表示字符串的结尾。
阅读全文