【问题标题】:Best way to display output of pattern search on text files?在文本文件上显示模式搜索输出的最佳方式?
【发布时间】:2010-11-24 08:54:06
【问题描述】:

这里是第一个问题!

我正在为 Windows 编写一个 grep 类型的程序,只是为了好玩(使用 Mingw)。它适用于行以 '\n' 终止的文本文件。我为此使用 fstream::getline()。

但我还需要能够搜索仅包含一大块没有行号的文本的文件。 fstream::getline() 在这里失败。有什么函数可以从这样的文件中将 N 个字符读入缓冲区吗?

另外,告诉用户在此类文件中的何处找到匹配项的最佳方法是什么?

【问题讨论】:

  • 传统的grep 对仅包含一行的文件进行操作只会输出整行。如果您想做其他事情,您所能做的就是告诉用户其中有多少个字符。问题是,您必须做出任意决定,何时停止将其视为单行文件,您将在其中输出整行,并开始将其视为一个巨大的块。
  • 谢谢,我想我会指出无格式文本从文件开头开始的字符数。

标签: c++ regex file-io


【解决方案1】:

istream::read() 将从 istream 中读取任意数量的字符。

至于在文件的哪个位置找到它,行号和字符偏移量可能是个不错的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 2011-10-18
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多