【请教】文件操作,写入数据的一些问题
代码如下程序代码:
void save() /*将链表中的数据保存到内存中*/ { FILE *book_fp,*reader_fp; book *bk_p; reader *rd_p; bk_p=h_book; rd_p=h_reader; if((book_fp=fopen("book.dat","wb"))==NULL) { printf("不能建立图书文件,初始化失败!请重新启动系统!\n"); return; } while(bk_p!=NULL) { if(fwrite(bk_p,sizeof(book),1,book_fp)!=1) { printf("写数据错误!\n"); exit(0); } bk_p=bk_p->next; } fclose(book_fp); if((reader_fp=fopen("reader.dat","wb"))==NULL) { printf("不能建立图书文件,初始化失败!请重新启动系统!\n"); return; } while(rd_p!=NULL) { if(fwrite(rd_p,sizeof(reader),1,reader_fp)!=1) { printf("写数据错误!\n"); exit(0); } rd_p=rd_p->next; } fclose(reader_fp); }
写入的应该是 编号、名称、作者、出版社、出版时间、类别、价格、数量(我随便写了些:12345678 x s ls 2010 jy 14 40 大概这个... )
但数据却成了这些...虽然也有要存的东西,但不知道怎么把磁盘里一些地址什么的也写进去了...
12345678 RS=2 Oc Windows_NT Path=C:\Users\xuus\Desktop\x 书管理系统\;C:\Winds s\system32;C:\Windows;C:\Windows\System32\Wbem;2010 ndows\System32\jy dowsPowe `A( (
还望各位前辈指点!谢谢!