構造体をファイルに保存する方法
/*
* c:\work\data3.bin というファイルに変数の値が保存されます。
*/
#include <stdio.h>#define FILENAME "c:\\work\\data3.bin"
/* 構造体の定義 */
typedef struct tagTTestStruct
{
int data1;
int data2;
char data3;
} TTestStruct;/* メイン関数 */
int main()
{
TTestStruct testdata = { 10 , 20 , 30 };
FILE *fp; /* ファイル処理で使用する *//* ファイルを書き込み用バイナリ形式で開く。エラー処理は省略 */
fp = fopen( FILENAME , "wb" );/* 構造体データをファイルに出力 */
fwrite( &testdata , sizeof( testdata ) , 1 , fp );/* ファイルを閉じる */
fclose( fp );return 0;
}ファイルからデータを読みとり構造体変数に代入する方法
/*
* c:\work\data3.bin というファイルから読み込みます。エラー処理をしていないので注意
*/
#include <stdio.h>#define FILENAME "c:\\work\\data3.bin"
/* 構造体の定義 */
typedef struct tagTTestStruct
{
int data1;
int data2;
char data3;
} TTestStruct;/* メイン関数 */
int main()
{
TTestStruct testdata;
FILE *fp; /* ファイル処理で使用する *//* ファイルを読み込み用バイナリ形式で開く。エラー処理は省略 */
fp = fopen( FILENAME , "rb" );/* ファイルからデータを読み込み構造体変数に代入 */
fread( &testdata , sizeof( testdata ) , 1 , fp );/* ファイルを閉じる */
fclose( fp );/* 読み込んだ内容を画面に表示 */
printf( "data1 = %d , data2 = %d , data3 = %d\n"
,testdata.data1,testdata.data2,testdata.data3 );return 0;
}