read函数
read系统函数从打开的设备或文件中读取数据,即将数据从外设上经过内核读到用户空间,函数原型如下:
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
从 fd 中读取数据到 buf 中,count 是要求读到的字节数。
fd为相应的文件描述符;buf为用户给定的数据缓冲区,该缓冲不是固定大小的,由count值决定其大小(用户给定,字节数)。
该函数的返回值为-1时,表示读取数据失败;返回值>0时,表示读出的字节数;返回值等于0时,表示已经读完了,因此没有数据可读了。
ssize_t为有符号整型,size_t为无符号整型。
write函数
write系统函数相反,向打开的设备或文件中写入数据,即将数据从用户空间(I/O缓冲)送到内核,然后刷到外设上。
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
从 buf 中写数据到 fd 中,count 是相求写入的字节数。