给定一个由数字组成的字符串作为输入,我想在C++中将其转换为整数数组。
#include <string>
#include <iostream>
#include <sstream>
using std::string;
using std::stringstream;
using std::cout;
using std::endl;
int main(int argc,char** argv) {
string num="-24 2 90 24 50 76";
stringstream stream(num);
while(stream){
int n;
stream>>n;
cout<<n<<endl;
}
return 0;
}
输出(GCC) :
-24 2 90 24 50 76 76
为什么我得到了额外的值,如何高效地将它们转换为整数数组?
更新:
如果字符串流中包含除空格以外的定界符,该如何解析它们?
例如:
string num="-24,2,90,24,50,76";