1

我有一个类似于

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

其中# is the line #, 后跟一个制表符,然后是随机单词

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

我希望我能用getline(file, word, ' '), 和一个柜台来解决这个问题,但这抓住了我的第一个词1 \t words

任何帮助或建议将不胜感激。

4

2 回答 2

3

使用stringstreamgetline,

getline(file, line);
std::stringstream ssline(line);
int num;
ssline >> num;
std::string word;
while(ssline >> word){
// do whatever you want. 
}
于 2013-10-07T21:28:25.090 回答
0

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

  1. 使用 getline 将整行读入字符串
  2. 将该字符串放入 std::istringstream 并从 std::istringstream 读取行号和以下单词

然后从第 1 步开始重复

于 2013-10-07T21:27:20.227 回答