私のプログラムには次の4つの構造体があります
struct SType{
int type;//struct type
};
struct S1{
};
struct S2{
};
struct S3{
};
次のコードを使用して、これらの構造体の状態をファイルに保存しています。
void store(struct SType s1,void *s){
//open file and stuff //s points to either one of the last three structs fwrite(&s1,sizeof(s1),1,file); fwrite(s, size, 1, file); //structs are always saved in the file in pairs of SType and either one of the last three structs }
次のコードを使用してファイルからペアの 2 番目の構造体を取得しようとすると、セグメンテーション違反が発生します。では、fread() を使用して任意の構造体型のオブジェクトを取得するにはどうすればよいでしょうか?
void read(){
void *record;
//read struct SType object from the file
//now read the second struct of the pair
fread(record,size,1,file);
}