首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言批改。dat文件内容,c语言基础

2013-06-26 
C语言修改。dat文件内容,c语言基础#includestdio.h#includestdlib.hstruct student{char date[11]long

C语言修改。dat文件内容,c语言基础
#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;
} C
[解决办法]


#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;
}

热点排行