Добрый день!
Хочу научиться обрабатывать средствами stl без велосипедов входные данные следующего вида: "1 2 3, 4".
Запускаю программу так:
echo "1 2 3, 4" | ./my_program
В программе я разделяю stdin строку на массив подстрок таким образом:
string std_in;
getline(cin, std_in);
stringstream ss( std_in );
vector<string> tokens;
string token;
while(std::getline(ss, token, ',')) tokens.push_back(token);
Можно ли достичь того же результата (массива токенов из входной строки) меньшим количеством телодвижений используя stl как то умнее?
Изменение #1
string std_in;
getline(cin, std_in);
stringstream ss( std_in );
list<string> tokens;
string token;
while(std::getline(ss, token, ',')) tokens.push_back( token );