【发布时间】:2015-05-24 12:23:44
【问题描述】:
我是 C++ 新手,并试图找到一些示例代码来从逗号分隔的字符串中提取整数。我遇到了这个代码:
std::string str = "1,2,3,4,5,6";
std::vector<int> vect;
std::stringstream ss(str);
int i;
while (ss >> i)
{
vect.push_back(i);
if (ss.peek() == ',')
ss.ignore();
}
我无法理解 while 循环条件语句:ss >> i。据我了解,istream::>> 返回操作的 istream。错误位可能由操作设置。似乎没有涉及布尔变量。 ss >> i如何作为条件语句?
另外,>> 是否提取一个或多个字符?例如,如果我有一个字符串“13, 14”。此操作返回整数 1、3、1、4 还是整数 13、14?
非常感谢, M
【问题讨论】:
标签: c++ string iostream istream