关于文本文件储存问题(输入数字变成乱码)
这是自己写学生信息管理系统中关于文本的两个自定义函数!存入函数:存入信息后打开文本文件是数字的变成乱码。浏览函数:重新运行后 先前存入的信息读不出来。void save()
{FILE *fp;
int i;
if( ( fp = fopen("xinxi.dat", "wb") ) == NULL)
{
printf("打开文件失败!\n");
return;
}
for(i=0;i<100;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("文件录入失败\n");
fclose(fp);
}
void liulan()
{FILE *fp;
int i;
if( ( fp = fopen("xinxi.dat", "rb") ) == NULL)
{
printf("打开文件失败!\n");
exit(0);
}
if(a!=0)
{ printf("学生总数:%d个\n", a);
for(i=0;i<a;i++)
{fread(&stu[i],sizeof(struct student),1,fp);
printf("学号:\n");
printf("%ld\n",stu[i].number);
printf("姓名:\n");
printf("%s\n",stu[i].name);
printf("年龄:\n");
printf("%d\n",stu[i].age);
printf("性别:\n");
printf("%s\n",stu[i].sex);
printf("电话:\n");
printf("%ld\n",stu[i].phone);
}
}
else printf("提示:无学生数据,请输入数据!");
fclose(fp);
}