Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 fread 读入一个字符缓冲区。
char buffer[50]; int nbytes = fread(buffer, 1, 50, fp);
我从中读取的文件恰好包含单词Hello,即 5 个字节。在上面的例子中,nbytes等于 6。为什么?
nbytes
此外,从零字节文件(即它是空的)读取返回 0。
我的猜测是,无论写入到您正在阅读的文件中的任何内容,都包含换行符(如果它是文本文件)或字符串后的 0 字节。如果您使用的是 unix,请运行以下命令:
od -c filename
这将打印文件的全部内容,包括不可打印的内容。
您还可以运行:
wc --bytes filename
它将以字节为单位打印文件的长度(连同文件名)。