结构用fopen文本打开读写文件 fwrite函数保存的怎么就是乱码
}
[ 本帖最后由 xiao40201950 于 2013-2-7 20:16 编辑 ]
#include<stdio.h> #include<stdlib.h> #define SI 4 //最大书籍数量 typedef struct { char xing[20]; char ming[20]; }xing_ming; xing_ming jie_zuo_zhe; //声明书籍信息结构 包含姓名结构 typedef struct { char shu_ming[40]; xing_ming jie_zuo_zhe; float jia_ge; }book; //输入书籍信息函数 void han_shu_ru(book *p) { puts("请输新入书籍名!"); gets(p->shu_ming); puts("请输入作者的姓名!"); scanf("%s%s",p->jie_zuo_zhe.xing,p->jie_zuo_zhe.ming); puts("请输入书籍的价格!"); scanf("%f",&p->jia_ge); } //书籍信息写入文件 void han_xie_ru(book *p) { FILE *fp; if((fp=fopen("d:\shu_ji.txt","a+"))==NULL||fwrite(p,sizeof(book),1,fp)!=1) puts("文件写入失败!"); return 1; } //输出书籍信息 void han_shu_chu(book *p) {printf("书籍的名称:%10s 书籍的作者:%6s%6s 书籍的价格:%10g\n", p->shu_ming,p->jie_zuo_zhe.xing,p->jie_zuo_zhe.ming,p->jia_ge); } int main(void) { book bop; // p=(book *)malloc(sizeof(book)) ; han_shu_ru(&bop); han_shu_chu(&bop); han_xie_ru(&bop); return 0; }这样可以给我解答吗? 写入问件的还是乱码?