c - 如何在 C 编程中检查给定文件是否为二进制文件?

标签 c

我正在尝试检查给定文件是否二进制文件。 我引用下面给出的链接找到解决方案, How can I check if file is text (ASCII) or binary in C

但是给定的解决方案不能正常工作,如果我将 .c 文件作为参数传递,它不能工作,它会给出错误的输出。

我可以作为参数传递的可能文件:

a.out

filename.c

filename.txt

filename.pl

filename.php

所以我想知道有没有什么功能或者方法可以解决这个问题?

谢谢...

注意:[如有任何疑问,请在投票前询问我]

最佳答案

您需要清楚地定义适合您的二进制文件,然后以此为基础进行检查。

如果您只想根据文件扩展名进行过滤,则创建一个您认为是二进制文件的列表,以及一个您不认为是二进制文件的列表,然后根据该列表进行检查。

如果您有一个已知格式列表而不是文件扩展名,请尝试以这些格式解析文件,如果它不解析/解析结果没有意义,则它是一个二进制文件(出于您的目的)。

关于c - 如何在 C 编程中检查给定文件是否为二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40211571/

相关文章:

c - 跳过空格并在 C 中一次返回一个单词

c# - 前缀(++ x)和后缀(x++)操作如何工作?

c - 引用地址?

java - Android JNI - 字符串作为随机数返回

c - 为什么 C 指针被推荐为它们所指向的数据的类型,如果它们是 8 字节大呢?

无法找出这里指针的错误吗?

c - 我如何在 C 中使用不透明指针?

c - malloc 和 size_t 似乎不匹配

c - 没有任何效果 - 引用、指针

c - 为什么不在 tcp 的情况下重用消息缓冲区