函数原型
read(int fd,void* buf,size_t count);
函数说明
将从文件描述符fd
对应的文件中读到的数据存在buf
缓冲区中,每次读count
字节,同时文件指针会随着移动
函数返回值
- 当返回值大于0时:实际读到的字节数
- 返回值=0:
- 如果读的文件:说明文件读完了
- 如果从管道或socket中读:说明对端关闭了
- 返回值为-1:说明发生了异常,根据
errno
的值进一步判断errno
==EINTR
被信号中断errno
==EAGAIN(EWOULDBLOCK)
非阻塞方式读,并且没有数据- 其他值 代表 出现错误,可以获得返回值,然后利用strerror(ret)去打印错误信息