关于C语言文件的问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:04:43
typedef struct
{ char name[20];
int number;
int age;
char addr[15];
}stu;
#include<stdio.h>
void main()
{stu student[2],boy[2];
int i;
FILE *fp;
printf("Please input the data of the two students\n");
for(i=0;i<2;i++)
{printf("name:");
fflush(stdin);
scanf("%s",student[i].name);
printf("number:");
fflush(stdin);
scanf("%d",&student[i].number);
printf("age:");
fflush(stdin);
scanf("%d",&student[i].age);
printf("address:");
fflush(stdin);
scanf("%s",student[i].addr);
}
if((fp=fopen("testfile","at+"))==NULL)
{printf("error\n");
getch();
exit(0);
}
fwrite(student,sizeof(stu),2,fp);
rewind(fp);
fread(boy,sizeof(stu),2,fp);
for(i=0;i&l

你的程序没有问题!但是你的编译器有问题!用的wintc吧!wintc会出现这样的问题,但是你用tc编译或者是visual c++不会出现时0的问题。这个问题我以前用wintc也遇到过,搞得我都没信心了,最后找老师解决的。现在的编译器尽量转向visual c++以后学c++好用!祝你好运..........

"at+" 不行 看勒下只会在文件后面加
用 wb+ 试试

你只打开了文件,后没没有关闭!

typedef struct
{ char name[20];
int number;
int age;
char addr[15];
}stu;
#include<stdio.h>
void main()
{stu student[2],boy[2];
int i;
FILE *fp;
printf("Please input the data of the two students\n");
for(i=0;i<2;i++)
{printf("name:");
fflush(stdin);
scanf("%s",student[i].name);
printf("number:");
fflush(stdin);
scanf("%d",&student[i].number);
printf("age:");
fflush(stdin);
scanf("%d",&student[i].age);
printf("address:");
fflush(stdin);
scanf("%s",student[i].addr);
}
if((fp=fopen("t