2016-02-09 18 views
-1

点我想这个代码可以通过逗号分割字符串:分割字符串使用istringstream

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

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

+0

ps:似乎不管char是什么。 –

回答

0

iss >> val >> dot读取一个int和一个char,它恰好与输入的格式匹配。

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

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