Работа с файлами в языке C с помощью функции fread()
Функция fread() в языке программирования С используется для чтения бинарных данных из файла. Эта функция возвращает количество прочитанных элементов, каждый элемент размером в size байт. Синтаксис функции выглядит так:
size_t fread(void *ptr, size_t size, size_t count, FILE *stream);
где void *ptr - указатель на буфер, куда будут записаны прочитанные данные; size_t size - размер каждого элемента в байтах; size_t count - количество элементов для чтения; FILE *stream - указатель на файловый поток.
Например, если мы хотим прочитать 10 элементов размером 4 байта каждый из файла "data.bin" в буфер buffer, код будет выглядеть так:
c
#include
int main() {
FILE *fp = fopen("data.bin", "rb");
if (fp == NULL) {
printf("Failed to open file");
return 1;
}
int buffer[10];
size_t elements_read = fread(buffer, sizeof(int), 10, fp);
printf("Read %zu elements: ", elements_read);
for (int i = 0; i < elements_read; i++) {
printf("%d ", buffer[i]);
}
fclose(fp);
return 0;
}
В этом примере мы открыли файл "data.bin" для чтения в бинарном режиме с помощью флага "rb". Затем мы создали буфер buffer типа int, достаточно большого размера для чтения 10 элементов. После этого мы использовали функцию fread() для чтения 10 элементов размером sizeof(int) байт каждый и записали их в buffer. Функция fread() вернула количество элементов, которые были фактически прочитаны (то есть меньшее или равное 10, если файл не содержит 10 элементов). Наконец, мы вывели на экран прочитанные элементы, использовав цикл for и закрыли файл с помощью функции fclose().