Как прочитать файл в C с помощью функции read()

Чтобы прочитать файл на C с помощью функции read(), вам необходимо выполнить следующие действия:

  1. Открыть файл: используйте функцию open(), чтобы открыть файл в режиме только для чтения и получить дескриптор файла. Прототип функции: int open(const char *pathname, int flags);.

  2. Чтение файла. Используйте функцию read()для чтения данных из файла в буфер. Прототипом функции является ssize_t read(int fd, void *buf, size_t count);. Он возвращает количество прочитанных байтов или -1 в случае возникновения ошибки.

  3. Закройте файл: используйте функцию close(), чтобы закрыть файл и освободить дескриптор файла. Прототип функции: int close(int fd);.

Вот пример, демонстрирующий, как читать файл с помощью функции read():

#include <fcntl.h>
#include <unistd.h>
#define BUFFER_SIZE 1024
int main() {
    int fd;
    ssize_t bytesRead;
    char buffer[BUFFER_SIZE];
    // Open the file
    fd = open("filename.txt", O_RDONLY);
    if (fd == -1) {
        perror("Error opening the file");
        return 1;
    }
// Read the file
    bytesRead = read(fd, buffer, BUFFER_SIZE - 1);
    if (bytesRead == -1) {
        perror("Error reading the file");
        return 1;
    }
// Add a null terminator to the buffer
    buffer[bytesRead] = '\0';
    // Close the file
    close(fd);
    // Print the contents of the file
    printf("%s", buffer);
    return 0;
}

Этот фрагмент кода открывает файл «имя_файла.txt», считывает его содержимое в буфер, добавляет в буфер нулевой признак завершения, а затем закрывает файл. Наконец, он печатает содержимое файла.