#include <iostream>
#include <string>
#include <vector>
#include <sstream>
int main() {
// 输入的字符串
std::string input_str = "2,[[1,2],[2,3]]";
// 使用逗号分隔字符串
std::stringstream ss(input_str);
std::string token;
// 提取二维数组的个数
getline(ss, token, ',');
int num_arrays = std::stoi(token);
提取并解析二维数组
std::vector<std::vector<int>> two_dim_vector;
getline(ss, token, '['); // 跳过左括号
for (int i = 0; i < num_arrays; ++i) {
std::vector<int> inner_vector;
getline(ss, token, '['); // 跳过左括号
getline(ss, token, ',');
int value = std::stoi(token);
inner_vector.push_back(value);
getline(ss, token, ']');
value = std::stoi(token);
inner_vector.push_back(value);
two_dim_vector.push_back(inner_vector);
}
//std::cout << two_dim_vector[1][1];
//打印结果
std::cout << "二维数组的个数: " << num_arrays << std::endl;
std::cout << "提取的二维向量:" << std::endl;
for (const std::vector<int>& inner_vec : two_dim_vector) {
for (int num : inner_vec) {
std::cout << num << " ";
}
std::cout << std::endl;
}
return 0;
}
对于输入字符串:
2,[[1,2],[2,3]]