要将字符串转换为数组,可以使用std::string
的c_str()
方法来获取字符串的C风格字符数组,然后将其复制到新的数组中。以下是一个示例代码:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 获取字符串的C风格字符数组
const char* cstr = str.c_str();
// 计算数组的长度
int length = str.length();
// 创建一个新的字符数组来存储转换后的字符串
char* arr = new char[length + 1];
// 将C风格字符数组复制到新的数组中
for (int i = 0; i < length; i++) {
arr[i] = cstr[i];
}
arr[length] = '\0';
// 打印转换后的数组
for (int i = 0; i < length; i++) {
std::cout << arr[i];
}
std::cout << std::endl;
// 释放内存
delete[] arr;
return 0;
}
输出结果为:
Hello, World!
注意,这里需要手动分配和释放内存来保存转换后的数组。如果你正在使用C++11或更高版本,也可以考虑使用std::vector
来替代动态分配的字符数组。