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

函数原型

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

函数说明

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

函数返回值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值