如何从下面的代码中读取单独的整数?
while (getline(cin, line)) {
// for each integer in line do something.....
// myVector.push_back(each integer)
}
输入是这样的:1, 2, 3, 5
(除最后一个整数外,用逗号分隔)。
输入示例(忽略第 # 行部分):
line1: 1, 2, 3, 4, 5
line2: 6, 7, 8, 9, 10
line3: 3, 3, 3, 3, 3
/// and so on...
我需要一一读取整数,然后递增并打印它们。
我利用一个方便的实用程序使用字符分隔符将字符串分成几部分:
std::vector<std::string> split(const std::string& str, char delim) {
std::vector<std::string> strings;
size_t start;
size_t end = 0;
while ((start = str.find_first_not_of(delim, end)) != std::string::npos) {
end = str.find(delim, start);
strings.push_back(str.substr(start, end - start));
}
return strings;
}
然后做这样的事情:
while (getline(cin, line)) {
std::vector<std::string> strings = split(line, ',');
for (const auto& str : strings) {
const int i = std::stoi(str);
// do something w i
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)