代码之家  ›  专栏  ›  技术社区  ›  J.ON

使用istringstream用逗号分隔字符串

  •  -1
  • J.ON  · 技术社区  · 10 年前

    我尝试了用逗号分隔字符串的代码:

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

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Bo Persson Touseef    10 年前

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

    他们在阅读之前的价值观根本无关紧要。

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

    推荐文章