通过int读取文件,然后单词

时间:2013-10-07 21:21:28

标签: c++ fstream getline

我有一个类似于

的文本文件

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

其中# is the line #,后跟一个标签,然后是随机单词

我需要读取int,存储它,然后跳过\ t,并逐个读取每个单词,同时跟踪单词的位置。

我希望我可以使用getline(file, word, ' ')和一个计数器,但我的第一个单词抓住1 \t words

非常感谢任何帮助或建议。

2 个答案:

答案 0 :(得分:3)

使用stringstreamgetline

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

答案 1 :(得分:0)

假设你不能说一行有多少单词,那么简单的答案是分两步完成。

  1. 使用getline
  2. 将整行读入字符串
  3. 将该字符串放入std :: istringstream并读取行号和来自std :: istringstream的单词
  4. 然后从第1步重复