2013-10-07 2 views
1

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

1 \t words words words words
2 \t words words words words

где # is the line #, а затем вкладку, затем следуют случайных слов

I нужно прочитать в int, сохранить его, затем пропустить \ t и читать каждое слово отдельно, сохраняя при этом отслеживание этой позиции слов.

Я надеялся, что смогу это сделать с помощью getline(file, word, ' '), и счетчик, но который берет мое первое слово как 1 \t words.

Любая помощь или предложения были бы высоко оценены.

+0

SO не сайт предложений, это сайт QA. Задайте нам конкретный вопрос, и мы поможем вам. – Manu343726

+1

в порядке ... В частности, как я могу это сделать? – user2791948

+0

@ Manu343726 Я действительно не думаю, что это заслуживает понижения. Парень пытался решить проблему, но он потерян. – khajvah

ответ

3

использование stringstream и getline,

getline(file, line); 
std::stringstream ssline(line); 
int num; 
ssline >> num; 
std::string word; 
while(ssline >> word){ 
// do whatever you want. 
} 
0

Предполагая, что вы не можете сказать, сколько слов есть на линии, тогда простой ответ заключается в том, чтобы сделать это в два этапа.

  1. Читать всю строку в строку с GetLine
  2. Поместите эту строку в станде :: istringstream и прочитать номер строки и следующие слова из станда :: istringstream

затем повторите с шаг 1

Смежные вопросы