温馨提示×

c语言read函数的用法是什么

小亿
370
2023-11-10 16:00:39
栏目: 编程语言

在C语言中,read()函数用于从文件描述符中读取数据。它的原型如下:

#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);

参数解释:

  • fd:要读取的文件描述符,可以是标准输入(0)、标准输出(1)或者标准错误(2),或者是通过open()函数打开的文件描述符。
  • buf:用于接收读取数据的缓冲区的指针。
  • count:要读取的字节数。

返回值解释:

  • 如果成功读取数据,则返回实际读取的字节数。
  • 如果已到达文件末尾,则返回0。
  • 如果发生错误,则返回-1,并设置errno变量以表示具体错误原因。

使用示例:

#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>

int main() {
    int fd = open("file.txt", O_RDONLY); // 打开文件
    if (fd == -1) {
        perror("open");
        return 1;
    }

    char buf[1024];
    ssize_t bytesRead = read(fd, buf, sizeof(buf)); // 从文件中读取数据
    if (bytesRead == -1) {
        perror("read");
        return 1;
    }

    printf("Read %zd bytes: %s\n", bytesRead, buf);

    close(fd); // 关闭文件

    return 0;
}

上述示例中,首先使用open()函数打开了一个文件,并获得了一个文件描述符fd。然后使用read()函数从文件中读取数据,将读取的数据存储在缓冲区buf中,最多读取sizeof(buf)字节。最后,通过printf()函数打印读取的字节数和数据内容。最后,使用close()函数关闭了文件描述符。

0