C语言一些问题,在线等。
本人写了一个程序,由于代码有五百多行,所以只贴了其中有问题的模块。
问题表现为当我运行完程序后,检查发现所建立的文件内,字符类型的可以正常显示,而int,float,long型的却显示出乱码。我用fread()函数读取文件在屏幕上显示出来的内容却又是正确的。
怎么样解决?
#include <stdio.h>
#include <stdlib.h>
struct student
{
char name[10];
int num;
int age;
char address[15];
}stu[2];
void main()
{
FILE *fp;
int i;
if((fp=fopen("test.txt","wb"))==NULL)
{
printf("error!");
exit(0);
}
for(i=0;i<2;i++)
{
printf("\ninput name:");
scanf("%s",stu
.name);
fflush(stdin);
printf("\ninput num:");
scanf("%d",&stu.num);
printf("\ninput age:");
scanf("%d",&stu.age);
fflush(stdin);
printf("\ninput address:");
scanf("%s",stu.address);
fflush(stdin);
fwrite(&stu,sizeof(struct student),1,fp);
}
fclose(fp);
}
[用户系统信息]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)