【问题标题】:Reading in a file by int, then words通过 int 读取文件,然后是单词
【发布时间】:2013-10-14 15:02:59
【问题描述】:

我有一个类似的文本文件

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

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

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

我希望我能用getline(file, word, ' ') 和一个计数器来解决这个问题,但我的第一个词是1 \t words

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

【问题讨论】:

  • SO 不是建议网站,而是 QA 网站。向我们提出具体问题,我们将为您提供帮助。
  • 好的...具体来说,我该怎么做呢?
  • @Manu343726 我真的不认为这值得一票否决。这家伙试图解决问题,但他迷路了。

标签: c++ fstream getline


【解决方案1】:

使用stringstreamgetline

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

【讨论】:

    【解决方案2】:

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

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

    然后从步骤 1 开始重复

    【讨论】:

      猜你喜欢
      • 2019-01-27
      • 1970-01-01
      • 2015-04-11
      • 2013-03-13
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多