使用istringstream逐点分割

时间:2016-02-09 07:08:49

标签: c++ split istringstream

我尝试了这个可以用逗号分割字符串的代码:

string spa ="12,233,434,2";
istringstream iss(spa+",");
int val;
char dot =',';
while(iss >> val >> dot){
     cout << val <<endl;
} 

但我不知道它是如何运作的。似乎先提取价值,然后做右移?

1 个答案:

答案 0 :(得分:0)

iss >> val >> dot读取intchar,这恰好与输入的格式相匹配。

他们在阅读之前的价值根本不重要。

while测试读取是否成功,并在输入失败时停止。