【发布时间】:2018-03-10 21:05:22
【问题描述】:
我正在解决一个关于hackerrank的问题,遇到了这个涉及字符串流的问题。
https://www.hackerrank.com/challenges/c-tutorial-stringstream/problem
对于提取数据,hackerrank给出了一个例子:
stringstream ss("23,4,56");
char ch;
int a, b, c;
ss >> a >> ch >> b >> ch >> c; // a = 23, b = 4, c = 56
但是,当我尝试将其导出到向量时,我必须使用以下方法转义“,”:
stringstream ss(str);
vector<int> vect;
int i;
while (ss >> i)
{
vect.push_back(i);
if (ss.peek() == ',')
ss.ignore();
}
为什么我不能在这里使用提取操作来获取所需的单词?流不应该逃避','(对于菜鸟级别的问题感到抱歉)?
【问题讨论】:
-
你明白
>> ch在第一个代码sn-p中做了什么吗? -
我显然没有。我以为它默认为 ',' 定界,但 Remy 让我大开眼界。
标签: c++ stringstream