read函数从打开的文件中读数据。
#include
ssize_t read(int fd, void * buf, size_t nbytes);
返回值:读到的字节数,若已到文件尾,返回0;出错,返回-1。
下面几种情况读到的字节数比你要读的少。
-
读到文件末尾。
-
当从终端设备读时,通常一次最多读一行。
-
从网络读时,缓存的字节数小于要读的字节数。
-
从管道或FIFO读时,管道包含的字节少于所需的数量。
-
从某些面向记录的设备(如磁带)读时,一次最多返回一个记录。
-
信号中断,已经读了部分数据量时。读操作从文件的当前偏移量处开始,在成功返回之前,该偏移量将增加实际读到的字节数。
void * 是通用指针。
返回值是带符号整型(ssize_t),返回0表示文件尾端。
第3个参数类型size_t是无符号整型。