Linux系统调用函数read()返回值判断

函数原型read(int fd,void* buf,size_t count);函数说明将从文件描述符fd对应的文件中读到的数据存在buf缓冲区中,每次读count字节,同时文件指针会随着移

函数原型

read(int fd,void* buf,size_t count);

函数说明

将从文件描述符fd对应的文件中读到的数据存在buf缓冲区中,每次读count字节,同时文件指针会随着移动

函数返回值

  • 当返回值大于0时:实际读到的字节数
  • 返回值=0:
    • 如果读的文件:说明文件读完了
    • 如果从管道或socket中读:说明对端关闭了
  • 返回值为-1:说明发生了异常,根据errno的值进一步判断
    • errno == EINTR 被信号中断
    • errno == EAGAIN(EWOULDBLOCK) 非阻塞方式读,并且没有数据
    • 其他值 代表 出现错误,可以获得返回值,然后利用strerror(ret)去打印错误信息

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754879360a5212153.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信