首页 > 解决方案 > Read() 返回值和 EOF

问题描述

我读到EOF定义为:

#define EOF (-1)

那么为什么读取返回值是:

返回值: 如果成功,则返回实际读取的字节数。在读取文件结尾时,返回零。否则,返回 -1 并设置全局变量 errno 以指示错误。

为什么在读取文件结尾时它不返回-1?

标签: c

解决方案


该宏由标准 CEOF定义,<stdio.h>并由使用标准 I/O 流 ( FILE *) 的函数使用。

诸如read()是 POSIX 的一部分的函数,并在<unistd.h>标头中声明。它们与标准 I/O 流无关,根本不使用EOF


推荐阅读