#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 = 5; sBla.bv = 19; 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 ); */ fclose( s_fOutput ); 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 ); }