当我'男人'时,我得到了这个:
返回值
fread()和fwrite()返回成功读取或写入的项目数(即,不是字符数)。如果有错误 发生,或结束 - 到达文件时,返回值是短项目计数(或零)。fread()不区分文件结束和错误,并且调用者必须使用feof(3)和ferror(3)来确定发生了什么。
所以我的问题是如何理解“短项目计数”。请忍受我的英语。为什么这里涉及类型“短”?你能否举一个例子说明“短项目计数”是什么样的?感谢。
答案 0 :(得分:8)
"短"的含义在fread手册页中没有引用数据类型。
"短"在这种情况下意味着"少于预期"。如果fread()期望读取4个对象,但只读取3,则返回值3.
我认为应该重写手册页说: "如果发生错误或达到文件结尾,则返回值是在错误或EOF发生之前成功读取或写入的项目数。
答案 1 :(得分:4)
如果你想要4,而你有3,那么你就是1。