#c #iostream #istream
#c #iostream #istream
Вопрос:
Можно ли указать std::istream использовать только фиксированное количество (а именно, 1) символов пробела при применении оператора>>? У меня есть строка, которую я хотел бы разобрать на параметры, но некоторые из параметров пусты, что приводит к сбою последующих вызовов operator>>.
Ответ №1:
Попробуйте std::noskipws
:
std::cin >> std::noskipws;
char ws;
std::string firstField, secondField, thirdField;
std::cin >> firstField >> ws >> secondField >> ws >> thirdField;
Или вы могли бы преобразовать всю строку в строку (см. std::getline
), а затем разделить ее с помощью Boost.