第一个功能建立新档案后我去打开文件结果发现数据不对,这是为什么呢?第二个功能一直都是查无此人,又是怎么回事?求解,谢谢!源码如下:
文件打开方式不对。
w 方式打开,如果文件不存在,会创建新文件,**如果文件已经存在,会清除文件内容**,当做新文件处理。
if((fp=fopen("duli16.3.dat", "w")) == NULL)
修改为:
if((fp=fopen("duli16.3.dat", "a+")) == NULL)
文件各种打开参数的详细说明可以参考一下教材或者上网搜索一下。
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
把balance定义为char,不要int,就是这样char balance[10];
然后下面改成这样:fprintf(fp,"%10s%15s%10s",………);应该没问题了
char id[14];
char name[10];
char balance[15];
这样试试
stu[i].balance-"0"这样就实现了char转换为int了啊!
目前还有的问题是一输入5就没反应,即进不了注销功能,还有续钱这功能printf续钱前的金额和续钱后的金额程序就停止工作,求解,麻烦了
问题已自行解决,谢谢