1

我想用 PCRE 解析二进制文件。到目前为止,我的策略是使用fgets读取文件的一行,然后使用pcre_exec.

这对我现在不起作用,因为“行”以空字节而不是换行符结尾。我没有看到fgets在空字节而不是换行符处停止的方法。

编辑

该功能类似于运行grep -az PATTERN FILE

4

1 回答 1

1

在这种情况下,运气不好,您需要逐字节读取二进制文件并检查'\0'. 然后,您可以将此字节存储在缓冲区中,并且:

  • 与您的 PATTERN 进行一些比较

或者

  • 如果要保留数据以供以后处理,例如可以将此缓冲区存储在链表中(如果您没有大文件)。

希望这有帮助。

问候。

于 2012-08-02T09:15:08.970 回答