#include struct bla { int av; int bv; }; void writeStructInfo( FILE* s_ffile, struct bla src ); void readStructInfo( FILE* s_ffile, struct bla *dest ); int main( void ) { FILE* s_fOutput = NULL; bla sBla; sBla.av = 9; sBla.bv = 15; s_fOutput = fopen( "testfile.txt", "w" ); /* wenn lesen: r für read, oder a für append, oder.. */ if( NULL == s_fOutput ) { perror( "testfile.txt" ); return 1; } writeStructInfo( s_fOutput, sBla ); /* oder zum lesen: readStructInfo( s_fOutput, &sBla ); */ fseek( s_fOutput, 0, SEEK_SET ); readStructInfo( s_fOutput, &sBla ); printf( "%d, %d\n", sBla.av, sBla.bv ); fclose( s_fOutput ); getchar(); return 0; } void writeStructInfo( FILE* s_ffile, struct bla src ) { /* quelle - wie groß ist diese quelle - wie viel davon soll in die datei - in welche datei soll es */ fwrite( (const void*)&src, sizeof( src ), 1, s_ffile ); } void readStructInfo( FILE* s_ffile, struct bla *dest ) { /* ziel - wie groß ist das, was wir lesen wollen - wie viel wollen wir davon - woher sollen wir das bekommen */ fread( dest, sizeof( struct bla ), 1, s_ffile ); }