私が作成した構造体をバイナリファイルから読み書きする必要がありますが、それらを読み込むと面倒なエラーが発生します。他の構造体を含むバイナリファイルから構造体を読み込んで読み込む(C)
例えば、この建設ください:
typedef struct items
{
char name[21], power[21];
int stock;
double price;
} ITEMS;
typedef struct shop
{
char name[21];
int numOfItems;
ITEMS *arr;
} SHOP;
をそして今、私はSHOPの配列を作成しているとして、すべてを埋めることができます(各SHOP用ITEMための動的配列を作成、[i])と、私次の場合はわかりません:
fwrite();実際には全体の配列を書き込み、ITEMの のために記入されたすべての情報を使用し、fread()を使用するとアクセス違反エラーが発生します。
I/Oに.txtファイルを使用する以外に、正しいアプローチは何でしょうか。ここで
は、コードサンプルです:http://pastebin.com/79TtvQ9t
"確かにfwrite();実際には、ITEMに記入されているすべての情報を配列全体に書き込む」ということではなく、正確なポインタ値を書いているだけで、配列の内容を別に書く必要があります。 – kaylum
正しいアプローチは、一度に1 SHOP + ITEMアレイを書きますか? – AleksXPO