ssize_t read(int fd, void *buf, size_t count);
从文件描述符fd中读取count个字节的数据放入buf的缓冲区中。
返回值:成功返回读取到的字节数;count为0,read()返回0;
EINTR 在读取到数据以前调用被信号所中断.
EAGAIN 使用 O_NONBLOCK 标志指定了非阻塞式输入输出,但当前没有数据可读.
EIO 输入输出错误.可能是正处于后台进程组进程试图读取其控制终端,但读操作无效,或者被信号SIGTTIN所阻塞,或者其进程组是孤儿进程组.也可能执行的是读磁盘或者磁带机这样的底层输入输出错误.
EISDIR fd 指向一个目录.
EBADF fd 不是一个合法的文件描述符,或者不是为读操作而打开.
EINVAL fd 所连接的对象不可读.
EFAULT buf 超出用户可访问的地址空间.