试图编写一个函数,将我的结构数组写入二进制文件。
我以为我能够一次将它作为一个完整的单位拷贝过来,但它不适合我。二进制文件和写入结构
我是否需要编写每个单独的子实体或者是否有办法在一个大团队中完成它?
{
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;
}
附加信息:我得到了我的记录元素是一个文件,但垃圾的一切。我将结构指针从main传递给函数... student_record * ptr – 2012-03-13 09:09:31