我使用fread读入char缓冲区。
char buffer[50];
int nbytes = fread(buffer, 1, 50, fp);
我读取的文件包含 Hello 这个词,即5个字节。
在上面的示例中,nbytes
等于6.为什么?
此外,从零字节文件读取(即它为空)将返回0.
答案 0 :(得分:4)
我的猜测是,无论写入您正在阅读的文件是否包含换行符(如果是文本文件)或字符串后面的0字节。如果您使用的是unix,请运行以下命令:
od -c filename
将打印文件的全部内容,包括非printables。
您还可以运行:
wc --bytes filename
将以字节(以及文件名)打印文件的长度。