使用 istringstream 按逗号拆分字符串
Split string by commas using istringstream
我试过这段代码可以用逗号分割字符串:
string spa ="12,233,434,2";
istringstream iss(spa + ",");
int val;
char dot =',';
while(iss >> val >> dot){
cout << val << endl;
}
但我不知道它是如何工作的。好像是先取值,再右移?
iss >> val >> dot
读取一个 int
和一个 char
,这恰好与输入的格式匹配。
他们在阅读之前的价值观根本不重要。
while
测试读取是否成功,输入失败则停止。
我试过这段代码可以用逗号分割字符串:
string spa ="12,233,434,2";
istringstream iss(spa + ",");
int val;
char dot =',';
while(iss >> val >> dot){
cout << val << endl;
}
但我不知道它是如何工作的。好像是先取值,再右移?
iss >> val >> dot
读取一个 int
和一个 char
,这恰好与输入的格式匹配。
他们在阅读之前的价值观根本不重要。
while
测试读取是否成功,输入失败则停止。