在如下代码案例中(伪代码)
int n = 0, fd = 3, bufsize = 1024;
char* buf;
n = read(fd, buf, bufsize);
返回值n有如下几种情况:
- n>0
- n代表实际读到的字节数
- 若n==bufsize代表缓冲区写满???
- 若n<bufsize代表已经读取到文件末尾??
- n==0
- n<0
- errno==EINTR 代表??信号中断,可重启或退出
- errno==EAGAIN || errno == EWOULDBLOCK 以非阻塞方式读取,没有读取到数据,应在此尝试读取
- errno==其他 出错?
read返回值
原文:https://www.cnblogs.com/zhilong233/p/13292243.html