11

当我是“男人恐惧”时,我得到了这个:

返回值
fread() 和 fwrite() 返回成功读取或写入的项目数(即,不是字符数)。如果发生错误或到达文件结尾,则返回值是短项目计数(或零)。

fread() 不区分文件结尾和错误,调用者必须使用 feof(3) 和 ferror(3) 来确定发生了什么。

所以我的问题是如何理解“短项目数”。请忍受我的英语。为什么这里涉及类型“short”?你能举个例子说明“短项目数”是什么样的吗?谢谢。

4

2 回答 2

9

fread 手册页中“short”的含义不是指数据类型。

在这种情况下,“短”意味着“低于预期”。如果 fread() 期望读取 4 个对象,但只读取 3 个,它将返回值 3。

我认为应该重写手册页说:“如果发生错误,或者到达文件结尾,则返回值是成功读取或写入的项目数,直到发生错误或EOF .

于 2014-03-24T23:03:07.843 回答
6

如果你想要 4,而你有 3,那么你做空 1。

于 2011-06-14T03:59:39.807 回答