fwrite存文件,再用fread打开的问题
程序代码:#include<stdio.h>
#define SIZE 1
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
void save()
{
FILE *fp;
int i;
if((fp=fopen("list","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)
printf("file write error!\n");
fclose(fp);
}
int main()
{
int i;
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
}
先用这个输入数据到“list”文件中 输入:Han 1001 21 room1
程序代码:#include<stdio.h>
#define SIZE 1
struct student_type
{
char name[20];
int num;
int age;
char addr[15];
}stud[SIZE];
int main()
{
int i;
FILE *fp;
fp=fopen("list","rb");
for(i=0;i<SIZE;i++)
{
fread(&stud[i],sizeof(struct student_type),1,fp);
printf("%s\n%d\n%d\n%s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
fclose(fp);
}再用这个打开“list”文件,但是结果是。。Han
1836019570
49
(第4行什么都没有)
问题出在哪。。谢谢各位了
[ 本帖最后由 zenglw 于 2010-3-13 11:03 编辑 ]










