C 二进制文件?

C 二进制文件?,c,pcre,binaryfiles,C,Pcre,Binaryfiles,我想用PCRE解析二进制文件。到目前为止,我的策略是使用fgets读取文件的一行,然后使用pcre\u exec解析该行 这对我现在不起作用,因为“行”以空字节结束,而不是换行。我没有看到一种方法可以让fgets在空字节而不是换行符处停止 编辑 该功能类似于运行grep-az模式文件在这种情况下,如果运气不好,您需要逐字节读取二进制文件,并检查'\0'。 然后,您可以将这些字节存储在缓冲区中,并: 在飞行中与你的图案进行比较 或 如果您想保留数据以供以后处理,可以将这些缓冲区存储在链接列表

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

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

编辑
该功能类似于运行
grep-az模式文件

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

  • 在飞行中与你的图案进行比较

  • 如果您想保留数据以供以后处理,可以将这些缓冲区存储在链接列表中(例如,如果您没有大型文件)
希望这有帮助


尊敬。

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

  • 在飞行中与你的图案进行比较

  • 如果您想保留数据以供以后处理,可以将这些缓冲区存储在链接列表中(例如,如果您没有大型文件)
希望这有帮助


注意。

没错,frets不能很好地处理二进制文件。你能提供更多关于bin文件的细节吗?例如,您想使用一些结构进行解析吗?没错,frets不能很好地处理二进制文件。你能提供更多关于bin文件的细节吗?例如,您想使用一些结构进行解析吗?