gpt4 book ai didi

c - 如何检查文件是 C 中的文本 (ASCII) 还是二进制文件

转载 作者:太空狗 更新时间:2023-10-29 17:21:30 24 4
gpt4 key购买 nike

我需要编写 C 代码来检查文件是文本 (ASCII) 还是二进制

有人可以帮忙吗?谢谢

最佳答案

典型的方法是读取前几百个字节并查找 ASCII NUL。

如果文件包含NUL,则肯定是二进制文件。大多数二进制文件确实包含 NUL 字节,但文本文件不应包含 NUL 字节。

#include <string.h>
bool is_binary(const void *data, size_t len)
{
return memchr(data, '\0', len) != NULL;
}

请注意,这是一种启发式方法。换句话说,它有时会出错。

关于c - 如何检查文件是 C 中的文本 (ASCII) 还是二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14618008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com