c++将字符串转数组
时间: 2024-05-07 10:14:11 浏览: 93
C++字符串转换
在C++中,可以使用以下几种方法将字符串转换为数组:
1. 使用字符数组:可以将字符串逐个字符地复制到字符数组中。首先需要创建一个足够大的字符数组来存储字符串,然后使用循环将字符串中的每个字符复制到数组中。示例代码如下:
```cpp
#include <iostream>
#include <cstring>
int main() {
std::string str = "Hello";
char arr; // 需要比字符串长度多1,用于存储字符串的结束符'\0'
// 将字符串复制到字符数组中
for (int i = 0; i < str.length(); i++) {
arr[i] = str[i];
}
arr[str.length()] = '\0'; // 添加字符串结束符
// 输出字符数组
for (int i = 0; i < str.length(); i++) {
std::cout << arr[i];
}
return 0;
}
```
2. 使用标准库函数:C++标准库提供了一些函数来处理字符串,其中包括将字符串转换为字符数组的函数。可以使用`strcpy`函数将字符串复制到字符数组中。示例代码如下:
```cpp
#include <iostream>
#include <cstring>
int main() {
std::string str = "Hello";
char arr; // 需要比字符串长度多1,用于存储字符串的结束符'\0'
// 将字符串复制到字符数组中
strcpy(arr, str.c_str());
// 输出字符数组
for (int i = 0; i < str.length(); i++) {
std::cout << arr[i];
}
return 0;
}
```
3. 使用动态数组:可以使用动态数组来存储字符串的字符。首先需要确定字符串的长度,然后使用`new`关键字创建一个足够大的字符数组,并将字符串逐个字符地复制到数组中。示例代码如下:
```cpp
#include <iostream>
#include <cstring>
int main() {
std::string str = "Hello";
int length = str.length();
char* arr = new char[length + 1]; // 需要比字符串长度多1,用于存储字符串的结束符'\0'
// 将字符串复制到字符数组中
for (int i = 0; i < length; i++) {
arr[i] = str[i];
}
arr[length] = '\0'; // 添加字符串结束符
// 输出字符数组
for (int i = 0; i < length; i++) {
std::cout << arr[i];
}
delete[] arr; // 释放动态数组的内存
return 0;
}
```
阅读全文