Заполнение динамической структуры из бинарного файла - C (СИ)
Формулировка задачи:
Как можно из бинарного файла данные скопировать в динамическую структуру?
Решение задачи: «Заполнение динамической структуры из бинарного файла»
textual
Листинг программы
#include <stdio.h>
typedef struct {
int data;
} st;
int main(int argc, char** argv) {
st* s = (st*)malloc(sizeof(st));
FILE* f = fopen("data.bin", "rb");
fread(s, sizeof(s), 1, f);
printf("s->data: %d", s->data);
fclose(f);
free(s);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и памятью
- Объявление структуры данных с названием
stи полемdataтипа int - Создание указателя на структуру данных типа st и выделение памяти под него с помощью malloc
- Открытие файла
data.binв бинарном режиме чтения с помощью функции fopen - Чтение данных из файла в выделенную память с помощью функции fread
- Вывод значения поля
dataна экран с помощью функции printf - Закрытие файла с помощью функции fclose
- Освобождение выделенной памяти с помощью функции free
- Завершение программы с возвратом значения 0, что означает успешный конец работы программы