Hi Jahan.
Ich möchte jetzt nicht als Spielverderber gelten, aber warum liest du den Header Datei nicht direkt in eine Struktur?
Hier z.B. die Union fuer den MP3-Header. (leider grob aus dem Zusammenhang gerissen. Hab es mal selber in einem anderen Prog gebraucht):
typedef struct T\_MP3HEADER{
union{
struct{
unsigned int byte4:8;
unsigned int byte3:8;
unsigned int byte2:8;
unsigned int byte1:8;
}e;
struct{
unsigned int Emphasis : 2;
unsigned int Original : 1;
unsigned int Copyright : 1;
unsigned int Mode\_Ext : 2;
unsigned int Mode : 2;
unsigned int Private : 1;
unsigned int Paddig : 1;
unsigned int Samplefrq : 2;
unsigned int Bitrate : 4;
unsigned int Protection : 1;
unsigned int MPEGLayer : 2;
unsigned int MPEGVersion : 1;
unsigned int SyncWord : 12;
}a;
}h;
}MP3HEADER;
Du liest die Daten aus der Datei in die erste Struktur der union ein und greifst nachher über die zweite Struktur darauf zu. Dann brauchst du nicht so sehr mit den Bits rumhantieren.
Wenn du willst kann ich dir auch noch den Restlichen Sourcecode zum einlesen schicken (der allerdings irgendwo in meinem Proggi verstrickt ist…)
Gruss Jens