string转char数组
时间: 2023-09-06 21:11:10 浏览: 40
可以使用以下方法将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',以表示字符串的结尾。
相关问题
c++ string转char数组
好的,关于c string转char数组的问题,你可以使用c_str()函数来获取c string的char数组形式,然后将其赋值给一个char类型的数组即可。例如:
```c++
#include <iostream>
#include <cstring>
int main()
{
char str[] = "hello world";
const char* cstr = str;
int length = strlen(cstr);
char charArray[length + 1]; // 留一个位置存储字符串的结束符
strcpy(charArray, cstr);
std::cout << "charArray: " << charArray << std::endl;
return 0;
}
```
运行结果:
```
charArray: hello world
```
希望这个回答对你有帮助。如果还有其他问题,可以随时问我。
C++ string转换char数组
您好!要将 C++ 的 string 转换为 char 数组,您可以使用 c_str() 函数。这个函数将返回一个以 null 结尾的 const char* 指针,指向 string 的底层字符数组。您可以将其赋值给一个 char 数组,如下所示:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
const char* charArray = str.c_str();
std::cout << "Converted char array: " << charArray << std::endl;
return 0;
}
```
在上面的示例中,我们首先创建了一个 string 对象 `str`,然后使用 `c_str()` 函数获取其底层的 const char* 指针 `charArray`。最后,我们将 `charArray` 打印出来,以验证转换是否成功。
希望这可以帮助到您!如果您有任何其他问题,请随时提问。