Mam mały problem z funkcją fread. Chce odczytać nagłówek z pliku binarnego i utworzyłem taki uchwyt:
typedef struct handle{
short int biType; // 2 bajty
long int fiSize; // 4 bajty
}handle;
kiedy chce sprawdzić rozmiar nagłówka funkcją sizeof(handle) wyskakuje mi liczba 8 ?? Nie przejmując się tym napisałem odczyt : fread(&h, 6 ,1, plik)); h to zmienna utworzona w taki sposób: handle h; teraz kiedy sprawdzam dane to zgadza się tylko pierwsza zmienna biType!! Natomiast fiSize jest już zepsuta. Próbowałem zmienić uchwyt na taki:
typedef struct handle{
short int biType; // 2 bajty
short int fiSize1; // 2 bajty
short int fiSize2; // 2 bajty
}handle;
I teraz odczytując miałem dobre wyniki tzn. rozmiar wyszedł 6 a wartości zmiennych się zgadzały.. tylko że ja chce mieć fiSize zamiast rozbicia go na dwie mniejsze części :(