c++里如何把类似于[64, 34, 25, 12, 22, 11, 90]的文字转化为数组
时间: 2024-09-12 10:04:59 浏览: 36
在C++中,你可以通过将文字表示的序列分割成元素,并存储到动态数组(如`std::vector<int>`)中来实现这个转化过程。这里是一个简单的例子:
```cpp
#include <iostream>
#include <vector>
// 示例数据
std::string str = "[64, 34, 25, 12, 22, 11, 90]";
// 将字符串转化为整数数组
std::vector<int> convertStringToArray(const std::string &str) {
std::vector<int> array;
size_t start = 0, end = 0;
// 遍历字符串,查找每个数字部分
while ((end = str.find(',', start)) != std::string::npos) { // 找到逗号
// 获取从start到end前的一个完整数字
int num = std::stoi(str.substr(start, end - start));
// 添加到数组并移动起始位置到下一个数字前
array.push_back(num);
start = end + 1; // 跳过逗号
}
// 最后一个数字可能没有找到逗号,处理一下
if (start < str.length()) {
int last_num = std::stoi(str.substr(start)); // 没有逗号,直接转换
array.push_back(last_num); // 添加到数组
}
return array;
}
int main() {
std::vector<int> numbers = convertStringToArray(str);
for (int i : numbers) {
std::cout << i << " ";
}
std::cout << "\n";
阅读全文