69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
struct student
{
char date[11];
long money;
int sta;
int g_sta;
int d_sta;
int help_money;
char personal[50];
}a[2];
int main()
{
int i;
FILE *fp;
if((fp=fopen("student.dat","rb+"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<2;i++)
{
fread(&a[i],sizeof(struct student),1,fp);
a[i].sta=2;//修改不到student.dat的内容
printf("%-11s %ld %4d %4d %4d %4d %s\n",\
a[i].date,a[i].money,\
a[i].sta,a[i].g_sta,a[i].d_sta,a[i].help_money,a[i].personal);
}
fflush(fp);
fclose(fp);
//你前边只是把内容读出来了,你要写回student.dat才能修改它的内容啊。。
fp = fopen("student.dat", "wb+");
fwrite(a, sizeof(struct student), 2, fp);
fclose(fp);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
struct student
{
char date[11];
long money;
int sta;
int g_sta;
int d_sta;
int help_money;
char personal[50];
}a[2];
int main()
{
int i;
FILE *fp;
if((fp=fopen("student.dat","rb+"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<2;i++)
{
fread(&a[i],sizeof(struct student),1,fp);
a[i].sta=2;//修改不到student.dat的内容
printf("%-11s %ld %4d %4d %4d %4d %s\n",\
a[i].date,a[i].money,\
a[i].sta,a[i].g_sta,a[i].d_sta,a[i].help_money,a[i].personal);
}
fflush(fp);
fclose(fp);
return 0;
}