Чтобы прочитать файл на C с помощью функции read(), вам необходимо выполнить следующие действия:
-
Открыть файл: используйте функцию
open(), чтобы открыть файл в режиме только для чтения и получить дескриптор файла. Прототип функции:int open(const char *pathname, int flags);. -
Чтение файла. Используйте функцию
read()для чтения данных из файла в буфер. Прототипом функции являетсяssize_t read(int fd, void *buf, size_t count);. Он возвращает количество прочитанных байтов или -1 в случае возникновения ошибки. -
Закройте файл: используйте функцию
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», считывает его содержимое в буфер, добавляет в буфер нулевой признак завершения, а затем закрывает файл. Наконец, он печатает содержимое файла.