Просто простой пример:)
// your struct
struct Data
{
int first;
double second;
char third[10];
};
Тогда напишите структуру!
struct Data data = {22, 4.0, "Hi"};
FILE* output;
output = fopen("Data.dat", "wb");
fwrite(&data, sizeof(data), 1, output);
fclose(output);
Наконец прочитайте данные из файла, который вы создали!
struct Data data;
FILE* input;
input = fopen("Data.dat", "rb");
fread(&data, sizeof(data), 1, input);
// you got the data from the file!
fclose(input);
Двоичные файлы - это кошмары, если их не писать и читать с умом. Вы должны позаботиться о многих вещах об архитектуре, где был создан файл и где он будет прочитан. Порядок и размер переменных являются наиболее важными. Кроме того, если у вас есть указатели внутри struct
, указатель, который будет записан в файл, а не фактические данные, на которые указывает указатель. Извините, я не редактировал ваш код, потому что он полон ошибок компиляции:)
Я удалил свой первый ответ, потому что это было так неправильно, извините:)