istringstream无法正确解析

时间:2014-04-25 03:49:34

标签: c++ c linux string

我有一些代码可以通过一串空格分隔的数字进行解析,但有些数字无法正确解析。

为了给出示例执行,数字是包含“30 20 2”的字符串。当我执行这个30和2被检索,但我的问题是检索20.我已经检查了几次输入,并且当第一次在循环中调用getline时,检索到的字符串是“20”,但是它的长度为3而不是2.我猜这就是为什么istringstream无法创建/获取格式化的输出。

任何有助于解决此问题的帮助都将受到赞赏。

     int token;
     string strToken;
     istringstream input(numbers);
     getline(input, strToken, ' ');
     // Get first number
     istringstream(strToken) >> token;
     write(pipes[0][1], (char *) &token, sizeof(int));
     for(int k = 1; k < numFunctions+1 ; k++)
     {       
             getline(input, strToken, ' ');
             istringstream(strToken) >> token;
             write(pipes[k*2-1][1], (char *) &token, sizeof(int));
             strToken = "";
     }

0 个答案:

没有答案