Я хочу прочитать двоичный файл в структуру
struct rec
{
int type;
long length;
int data[100];
};
Первые 16 бит двоичного файла - это тип, следующие 32 бита - длина данных, следующие - данные,В файле несколько записей, и последняя запись имеет длину 0, представляющую конец файла.
Я хочу прочитать и распечатать значения каждой записи.
Я нашел способ прочитать тип и длину, но я застрял при попытке использовать длину для чтения данных.,Кроме того, как я могу поместить это в цикл до длины = 0?
int main()
{
FILE *ptr_tofile;
struct rec some_record;
ptr_tofile=fopen("Test.bin","rb");
if (!ptr_tofile)
{
printf("Unable to open file!");
return 1;
}
for ( until length = 0)
{
fread(&some_record, sizeof(int), 1, ptr_tofile);
printf("%d\n",some_record.type);
fread(&some_record, sizeof(int), 2, ptr_tofile);
printf("%d\n",some_record.type);
getch();
}
fclose(ptr_tofile);
return 0;
}