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

Aaron_231 2013-05-25 07:29:04
#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;
}
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aaron_231 2013-05-25
  • 打赏
  • 举报
回复
感谢 hugett 大哥
hugett 2013-05-25
  • 打赏
  • 举报
回复

#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;
}
bewinged 2013-05-25
  • 打赏
  • 举报
回复
什么意思?修改不到student.dat 不是可以修改吗?
bewinged 2013-05-25
  • 打赏
  • 举报
回复
#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;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧