“什么是”呢;“短项目计数”;在fread()中?

“什么是”呢;“短项目计数”;在fread()中?,fread,Fread,当我是“man fread”时,我得到了这个: 返回值 fread()和fwrite()返回成功读取或写入的项目数(即,不是字符数)。如果有错误 发生,还是结束- 如果达到文件的长度,则返回值为短项计数(或零) fread()不区分文件结尾和错误,调用方必须使用feof(3)和feror(3)来确定发生了什么 因此,我的问题是如何理解“短项计数”。请容忍我的英语。为什么这里涉及“short”类型?你能举个例子说明“短件计数”是什么样的吗?谢谢。如果你想要4个,而你有3个,那么你是短1。fread

当我是“man fread”时,我得到了这个:

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

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


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

如果你想要4个,而你有3个,那么你是短1。

fread手册页中“短”的意思不是指数据类型

在这种情况下,“短”表示“低于预期”。如果fread()预期读取4个对象,但仅读取3个,则它将返回值3

我认为手册页应该改写为:
“如果发生错误,或到达文件末尾,返回值是在发生错误或EOF之前成功读取或写入的项目数。

如果您想要4个,但有3个,fread将返回3。短消息在哪里?”“进来?如果措辞有任何意义,它将返回1。但另一方面,这将是一个毫无意义的API。@Lundin:3比4短。措辞很好。你缺1个,不是缺3个。在这种情况下,英语单词short只能指缺失项目的数量。一个说英语的人会假设“短物品计数”计算你短物品的数量。与“成功读取项目计数器”相反。您不短3个,但短3个。同意手册页写得不好,需要重写。我知道fread是如何工作的,我的英语也不错,但我不理解它。那么,我应该在哪里提交请求来更改它呢?