Binaerdatei auslesen
-
hallo,
ich muss eine binaerdatei auslesen; gibt es da einen bestimmten style?
ich kenne mich da noch nicht wirklich aus.
also ich versuchs gerade damit, dass ich ein struktur der binaerdatei nachbaue
1.headertypedef struct binaerdatei { int x; short y; usw. }TInfo;
2.quellcodedatei:
dann lese ich die binaerdatei mit fread ein und speichere den wert in den aufgelisteten variablen der struktur (auf die ich ueber einen Zeiger auf die Strukur zugreife.fread(&(psOVL->x), 2, 1, psOVL->fpOVL); fread(&(psOVL->MapRefColor), 1, 1, psOVL->fpOVL); usw...
vielleicht gibt es einen besseren stil und da ich mir unsicher bin, vielleicht habt ihr ja eine idee oder einen guten link?
usw...
-
Hier ein Beispiel aus der Microsoft Hilfe
Example/* FREAD.C: This program opens a file named FREAD.OUT and * writes 25 characters to the file. It then tries to open * FREAD.OUT and read in 25 characters. If the attempt succeeds, * the program displays the number of actual items read. */ #include <stdio.h> void main( void ) { FILE *stream; char list[30]; int i, numread, numwritten; /* Open file in text mode: */ if( (stream = fopen( "fread.out", "w+t" )) != NULL ) { for ( i = 0; i < 25; i++ ) list[i] = (char)('z' - i); /* Write 25 characters to stream */ numwritten = fwrite( list, sizeof( char ), 25, stream ); printf( "Wrote %d items\n", numwritten ); fclose( stream ); } else printf( "Problem opening the file\n" ); if( (stream = fopen( "fread.out", "r+t" )) != NULL ) { /* Attempt to read in 25 characters */ numread = fread( list, sizeof( char ), 25, stream ); printf( "Number of items read = %d\n", numread ); printf( "Contents of buffer = %.25s\n", list ); fclose( stream ); } else printf( "File could not be opened\n" ); }
Wenn man jetzt deine Structur nimmt entspricht eine Struktur einem Character aus dem String d.h.
Tinfo Test; fread(&Test),sizeof(Tinfo)1, 1, stream);
Damit wird also genau die Struktur Test vom Type Tinfo mit Daten gefüllt
Tinfo Testf[5]; fread(&Test),sizeof(Tinfo)1, 5, stream);
Damit wird ein Feld Testf von 5 Elementen vom Typ Tinfo mit Daten gefüllt.
-
Es gibt dazu auch ein Beispiel in der FAQ
-
Danke für den Hinweis