• 函数原型
  • 参数
  • 返回值
  • 相关函数

    函数原型

    1. #include <unistd.h>
    2. ssize_t read(int fd, void *buf, size_t count);

    参数

    参数 描述
    fd 文件描述符
    buf 读取的数据存放在buf指针指向的缓冲区
    count 读取的字节数

    关于count:如果buf是一个字符数组名,那么count就用它的sizeof值。若buf是字符指针(字符串)则count用它的strlen值。

    返回值

    若果函数执行成功,返回读取的字节数,如果遇到EOF,则返回0。出错返回-1,并设置相应errno值。

    • 当我指定要读取100个字节的时候,在读完30个字节后,遇到了EOF,那么这时立即返回30,接下来继续执行read函数的时候返回0。
    • 从终端设备读,通常以行为单位,读到换行符就返回。
    • 当出错时(即返回-1),如果errno的值是EINTR,表示遇到调用信号而中断了读取,那么我们可以再次尝试read。

    相关函数

    |[[write|write]]|[[fread|fwrite-fread#fread]]|
    |—————|——————|