关于 linux 管道中 read 和 write的返回值问题

一直不了解  在pipe中   read()和write()的返回值

然后 在 终端  用man 查找  可以 知道

@ubuntu:~/linux_c$ man read

SYNOPSIS
       #include <unistd.h>

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

DESCRIPTION
       read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.

       If count is zero, read() returns zero and has no other results.  If count is greater than SSIZE_MAX, the result is unspecified.

<span style="color:#FF0000;">RETURN VALUE</span>
       On  success, the number of bytes read is returned (zero indicates end of file), and the file position is advanced by this number.  It
       is not an error if this number is smaller than the number of bytes requested; this may happen for example  because  fewer  bytes  are
       actually available right now (maybe because we were close to end-of-file, or because we are reading from a pipe, or from a terminal),
       or because read() was interrupted by a signal.  On error, -1 is returned, and errno is set appropriately.  In this case  it  is  left
       unspecified whether the file position (if any) changes.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值