C++把字符串转化为字符数组
时间: 2023-11-18 11:03:48 浏览: 249
在C++中,字符串被定义为字符数组,可以使用以下方法将字符串转换为字符数组:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
char char_array[str.length() + 1];
strcpy(char_array, str.c_str());
std::cout << "String: " << str << std::endl;
std::cout << "Character Array: " << char_array << std::endl;
return 0;
}
```
在上面的示例中,我们首先将字符串“Hello, world!”存储在一个std::string对象中。然后,我们创建了一个char类型的字符数组,其大小为字符串长度加1,以包含字符串的终止符“\0”。最后,我们使用strcpy()函数将字符串复制到字符数组中,并使用c_str()函数获取字符串的C字符串表示形式。
输出结果将是:
```
String: Hello, world!
Character Array: Hello, world!
```
相关问题
c++将字符串转换为字符数组
可以使用以下两种方法将字符串转换为字符数组:
1. 使用string类提供的函数c_str(),将string类型转换为const char*类型,然后使用strcpy()函数将const char*类型转换为char类型的字符数组。
2. 使用string类提供的函数copy(),将string类型的字符串复制到char类型的字符数组中。需要注意的是,字符数组的长度要足够大以容纳整个字符串,并且在字符数组的末尾添加'\0'作为字符串的结束符。
C++怎么把字符数组转化为字符串
在C++中,将字符数组转换为字符串通常有两种方法:
1. 使用`std::string`构造函数:
```cpp
charCharArray[5] = {'H', 'e', 'l', 'l', 'o'};
std::string strArrayAsString = std::string(charCharArray);
```
这里,`charCharArray`是一个字符数组,通过`std::string`类型的构造函数将其转换为字符串。
2. C-style字符串(`const char*`)转换:
```cpp
const char charArray[] = "Hello";
std::string strArrayAsString = std::string(charArray);
```
或者你可以手动复制字符串,并添加结束符`\0`:
```cpp
char charArray[] = "Hello";
size_t len = strlen(charArray) + 1;
std::string strArrayAsString(len, '\0');
strcpy(strArrayAsString.c_str(), charArray);
```
阅读全文