读函数:read
ssize_t read(int fd, void *buf, size_t nbyte)
read函数从fd中读取内容,成功后,read返回实际读取的字节数,如果返回值为0,表示读到文件的结束符。小于0表示出现了错误。如果错误为EINTR说明是由中断引起的,如果是ECONNREST表示网络连接出现了问题。
写函数:write
ssize_t write(int fd, const void *buf, size_t nbytes)
write函数将buf中的nbytes字节内容写入文件描述符为fd的文件中,成功时返回写的字节数。失败时返回-1,并设置errno变量。
1)write的返回值大于0,表示写了部分或者全部的数据。
2)返回值小于0,此时出现了错误。我们要根据错误的类型来处理。如果错误为EINTR表示在写时出现了中断错误。
如果为EPIPE表示网络连接出现了问题。