首页 > 其他 > 详细

重读APUE(2)-read返回值少于要求读取字节数

时间:2019-10-30 09:24:47      阅读:101      评论:0      收藏:0      [点我收藏+]
返回值:

成功返回读到的字节数,如果达到文件尾,则返回0;注意:如果有数据第一次读取会返回全部读到的字节数,下一次读取才会返回0;

出错返回-1;

返回值少于要求读取字节数的情况:

1. 读取普通文件时,在读到要去字节数之前达到了文件尾,如:在达到文件尾之前有30个字节,而要求读取100个字节,则read返回30;下一次再调用read时,它将返回0(文件尾);

2. 当从终端设备读取时,通常一次最多读取一行;

3. 当从网络设备读取时,网络中的缓冲机制可能造成返回值小于要求读取的字节数;

4. 当从管道或者FIFO读取时,如果管道包含的字节数少于所需的数量,那么返回实际可用的字节数;

5. 当从某些面向记录的设备(如磁带)读取时,一次最多返回一个记录;

6. 当一个信号造成中断,而已经读取了部分数据量时,读操作在成功返回之前,将增加至实际读到的字节数;

 

重读APUE(2)-read返回值少于要求读取字节数

原文:https://www.cnblogs.com/wanpengcoder/p/11762719.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!