私の構造体配列をバイナリファイルに書き込む関数を記述しようとしています。
私は一度に完全なユニットとして1つのアレイとしてそれをコピーすることができたと思ったが、それは私のために働いていない。バイナリファイルとそれらへの構造
個々のサブエンティティを記述する必要があるのですか、それとも大規模な集まりで処理する方法がありますか?
あなたが実際にあなたが、エラー がが何であるかを述べる(あなたが助けを求めるしようとしているとき、これは非常に重要です)しかし、あなたは構造内のポインタのようなものを持っていない提供していない{
void export_binary(char *data_base_name, student_record *ptr,int array_flag,unsigned int rec_cnt)
{
if (array_flag==-99)
{
printf("\n\nDatabase not loaded...\n\nPlease IMPORT or CREATE a new database.\n\n");
system("pause");
return;
}
int rec_counter;
FILE *pf;
pf=fopen(data_base_name,"wb");
if (!pf)
{
printf("*** FILE OPENING ERROR ***\n\n");
system("pause");
return ;
}
for (rec_counter=0; rec_counter <= rec_cnt; rec_counter++)
{
fwrite(&ptr[rec_counter], sizeof(student_record), 1, pf);
}
if ((fclose(pf))!=0)
{
printf("\n\n*** FILE Error - Closing file FAILED! ***\n\n");
system("pause");
return;
}
printf("\n\n*** Database SAVED ***");
system("pause");
return;
}
追加情報:私のレコードの要素はそれに含まれていますが、それ以外のものは不要です。メインから関数への構造体ポインタを渡しています... student_record * ptr –