C Read: Основы чтения и записи данных на языке C
C функция read используется для чтения данных из открытого файлового дескриптора или файлового потока. Она принимает три аргумента: файловый дескриптор, указатель на буфер, в который нужно записать данные, и количество байтов для чтения.
Пример использования функции read:
#include
#include
int main() {
int fd = open("file.txt", O_RDONLY); // открыть файл для чтения
if (fd == -1) {
perror("open");
return -1;
}
char buffer[1024];
int bytes_read = read(fd, buffer, sizeof(buffer)); // прочитать данные из файла
if (bytes_read == -1) {
perror("read");
return -1;
}
// обработать прочитанные данные
printf("%.*s\n", bytes_read, buffer);
close(fd); // закрыть файл
return 0;
}
В этом примере мы открываем файл "file.txt" для чтения, с помощью функции read читаем данные из файла в буфер размером 1024 байтов, затем обрабатываем прочитанные данные, выводим их на экран и закрываем файловый дескриптор.
Функция read может использоваться для чтения данных из файлов, сокетов, каналов и других объектов, файловый дескриптор которых был получен с помощью функций open, socket, pipe и т. д.
Важно учитывать, что функция read может вернуть количество байтов меньше, чем запрашивалось, поэтому в цикле читаем данные до тех пор, пока не прочитаем их все. Также необходимо проверять возвращаемое значение функции read на наличие ошибок.