fscanf funktioniert nicht
-
Hallo liebe Community,
Ich habe folgendes Problem:
Ich möchte aus einer Bitmap den Header auslesen. Das erste was ich auslesen möchte ist ein unsigned short.
Leider Funkioniert folgendes nicht:
i = fscanf(fd,"%hu",&temp_s);
fscanf liest keinen Parameter aus.
Was mache ich falsch?
danke schonmal für die Hilfe.
-
hast du die datei vorher im binärmodus geöffnet?
-
WC-Stein schrieb:
Leider Funkioniert folgendes nicht:
i = fscanf(fd,"%hu",&temp_s);
fscanf liest keinen Parameter aus.
Was mache ich falsch?
danke schonmal für die Hilfe.Bmp ist ein binäres Format, fscanf versucht hingegen aus einem Text Deine Parameter zu interpretieren.
Heißt, Du mußt binär öffnen (also mit "rb") und mit fread die Happen einlesen und selbst interpretieren.
-
Nein habe ich nicht, muss ich?
Hab das gerade mal versucht, Funktioniert aber dennoch nicht.Ich verwende zudem Linux, in einer meiner Referenzen steht, dass das 'b' unter Linux ignoriert wird.
-
"%hu"
das h was macht das?
Mfg f.-th.
-
Der Tipp mit fread war der richtige,
ich danke euch!
lG Martin
PS: Das 'h' sorgt dafür, dass ich einen unsigned short bekomme und keinen unsigned integer;
-
f.-th. schrieb:
"%hu"
das h was macht das?
Indicates that the conversion will be one of d, i, o, u, x, X,
or n and the next pointer is a pointer to a short int or
unsigned short int (rather than int).