gpt4 book ai didi

c - fread() 返回读取字节数 + 1

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:54 26 4
gpt4 key购买 nike

我使用 fread 读入一个字符缓冲区。

char buffer[50];
int nbytes = fread(buffer, 1, 50, fp);

我读取的文件恰好包含单词 Hello,即 5 个字节。在上面的示例中,nbytes 等于 6。为什么?

此外,从零字节文件(即它是空的)读取返回 0。

最佳答案

我的猜测是,无论写入您正在读取的文件的内容是包含换行符(如果它是文本文件)还是字符串后的 0 字节。如果您使用的是 unix,请运行以下命令:

od -c filename

这将打印文件的全部内容,包括不可打印的内容。

您还可以运行:

wc --bytes filename

这将以字节为单位打印文件的长度(连同文件名)。

关于c - fread() 返回读取字节数 + 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233619/

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