iostream - чтение строки со встроенными пробелами - PullRequest
0 голосов
/ 24 августа 2010

У меня есть файл с записями, который выглядит так

123 Tag Теперь настало время всем добрым людям прийти на помощь

Всегда есть номер и какой-то тег, за которым следует ряд слов. Я хочу извлечь число как целое число, тег как строку и предложение как строку. Я сделал это, используя getline и scan, а также немного глупости подстроки.

Есть ли способ сделать это ала ...

ispringstream iss ("123 Tag Now is the time for all good men to come to the");
integer i;
string tag, sentence;
iss >> i >> tag >> ws >> ???? >> sentence;

т.е. Было бы неплохо, если бы был какой-то способ отключить пробел в качестве терминатора.

Ответы [ 2 ]

1 голос
/ 24 августа 2010

Вы должны быть в состоянии сделать это в два этапа:

istringstream iss ("123 Tag Now is the time for all good men to come to the");
int i;
std::string tag, sentence;
iss >> i >> tag >> ws;
std::getline(iss, sentence);
0 голосов
/ 24 августа 2010

Если не будет разрывов строк,

iss >> i >> tag;
getline(iss, sentence);
...