如果我有一个包含逗号分隔的数字列表的 std::string,那么解析数字并将它们放入整数数组的最简单方法是什么?
我不想将其概括为解析其他任何内容。只是一个简单的逗号分隔整数字符串,例如“1,1,1,1,2,1,1,1,0”。
最佳答案
一次输入一个数字,检查后面的字符是否为,
。如果是,请丢弃它。
#include <vector>
#include <string>
#include <sstream>
#include <iostream>
int main()
{
std::string str = "1,2,3,4,5,6";
std::vector<int> vect;
std::stringstream ss(str);
for (int i; ss >> i;) {
vect.push_back(i);
if (ss.peek() == ',')
ss.ignore();
}
for (std::size_t i = 0; i < vect.size(); i++)
std::cout << vect[i] << std::endl;
}
关于c++ - 解析逗号分隔的 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1894886/