保存部分の概略ただし、これにも問題があります。
/* ファイルを開く */
fp = fopen( FILENAME , "wb" );/* 以下の処理をデータ分だけ行う */
{
/* 識別子を書き込む */
fwrite( &data.ID , sizeof(data.ID) , 1 , fp );
/*
* データ本体を書き込む
*/
}
/* 終端識別子を書き込む */
fwrite( &endid , sizeof(endid) , 1 , fp );
/* ファイルを閉じる */
fclose( fp );
読み込み部の概略
/* ファイルを開く */
fp = fopen( FILENAME , "rb" );
/* 終端まで繰り返す */
do {
/* 識別子を読み込む */
fread( &id , sizeof(id) , 1 , fp );
/* 識別子の内容によって読み込みルーチンを決定する */
switch( id ){
case DATA1:
/*
* DATA1の読み込みルーチン
*/
break;
:
:
:
}
} while( id != endid );
/* ファイルを閉じる */
fclose( fp );