Строка задается как входной элемент, который состоит из чисел, и я хочу преобразовать его в целые массивы в С++.
#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
Почему я получаю дополнительную ценность и что является эффективным для преобразования их в целочисленный массив?
UPDATE:
Что делать, если поток строк содержит разделитель, отличный от пробела. Как это проанализировать?
Например:
string num="-24,2,90,24,50,76";