| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:(求助)有关文件内容处理的问题
取消只看楼主 加入收藏
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:6 
(求助)有关文件内容处理的问题
struct student
{
 char name[10];
 int num;
 char sex[5];
 int age;
 int chinese;
 int math;
 int english;
 int computer;
 int total;
 float average;
}s[5];         这是我定义的结构体.

--------------------------------
我用以下函数输入了5个学生的信息,并存入了一个文件内.
void save()
{
 int i;
 char file[15];
 FILE *fp;
 printf("please input a name of the file you want to save: ");
 scanf("%s",file);
 printf("\nplease input SIZE students informations:\n");
 printf("the information include:Name  Number  Sex  Age  Chinese  Math  English  Computer\n");
 for(i=0;i<SIZE;i++)
  { scanf("%s%d%s%d%d%d%d%d",s[i].name,&s[i].num,s[i].sex,&s[i].age,&s[i].chinese,&s[i].math,&s[i].english,&s[i].computer);
    s[i].total=s[i].chinese+s[i].math+s[i].english+s[i].computer;
    s[i].average=(float)s[i].total/4;
   }
 if((fp=fopen(file,"wb"))==NULL)
  {
   printf("cannot open file\n");
   return;
  }
 for(i=0;i<SIZE;i++)
   if(fwrite(&s[i],sizeof(struct student),1,fp)!=1)
    printf("file write error\n");
 fclose(fp);
}


请问我要怎样修改文件里面任意的学生信息??
高手见笑了,帮个忙,谢了!         
搜索更多相关主题的帖子: 文件 
2010-01-11 17:09
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
int i,t,j,k;
char na[10];
FILE *fp;
scanf("%s",na);
           for(t=0;t<SIZE;t++)
            {
             if(strcmp(na,s[i].name)==0)
             for(j=t,k=0;j<SIZE-1;j++)
               {
                strcpy(na,s[j+1].name);strcpy(s[j].name,na);
                i=s[j+1].num;s[j].num=i;
                strcpy(se,s[j+1].sex);strcpy(s[j].sex,se);
                s[j].chinese=s[j+1].chinese;
                i=s[j+1].math;s[j].math=i;
                i=s[j+1].english;s[j].english=i;
                i=s[j+1].computer;s[j].computer=i;
                o=s[j+1].average;s[j].average=o;
                i=s[j+1].total;k++;
               }
             }
           if(k!=0)
            {
             printf("\n\ndelete success!");
             for(i=0;i<SIZE-1;i++)
             fwrite(&s[i],sizeof(struct student),1,fp);
             fclose(fp);
             }
           else
            {
             printf("delete fail!!!");
             fclose(fp);
             }

我写了一段,但是运行时但不到效果, 麻烦帮忙看下吧!

理想很丰满·~现实很骨感!
2010-01-13 15:47
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
回复 5楼 mb0500230124
谢谢了

理想很丰满·~现实很骨感!
2010-01-13 17:14
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
......
......
printf("\nplease input a student's name you want to delete: ");
           scanf("%s",na);
           for(t=0;t<SIZE;t++)
            {
             if(strcmp(na,s[i].name)==0)
             for(j=t,k=0;j<SIZE-1;j++)
               {
                strcpy(na,s[j+1].name);strcpy(s[j].name,na);
                i=s[j+1].num;s[j].num=i;
                strcpy(se,s[j+1].sex);strcpy(s[j].sex,se);
                s[j].chinese=s[j+1].chinese;
                i=s[j+1].math;s[j].math=i;
                i=s[j+1].english;s[j].english=i;
                i=s[j+1].computer;s[j].computer=i;
                o=s[j+1].average;s[j].average=o;
                i=s[j+1].total;k++;
               }
             }
           if(k!=0)
            {
             printf("\n\ndelete success!");
             fclose(fp);
             for(i=0;i<SIZE-1;i++)
             fwrite(&s[i],sizeof(struct student),1,fp);
             fclose(fp);
             }
           else
            {
             printf("delete fail!!!");
             fclose(fp);
             }
           };getch();break

再弱弱地问下,我这样写 删除功能问题在哪里? 我试了下貌似不行。。。嘿嘿,有劳看下

理想很丰满·~现实很骨感!
2010-01-13 17:19
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
我三楼贴错了。。。。

理想很丰满·~现实很骨感!
2010-01-13 17:22
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
SIZE-- ??   貌似有问题

理想很丰满·~现实很骨感!
2010-01-13 18:08
a442579302
Rank: 2
来 自:C入门
等 级:论坛游民
帖 子:29
专家分:39
注 册:2009-12-29
收藏
得分:0 
回复 9楼 mb0500230124
我试过了
但问题是 删可以删,就是不止删掉一个人的信息,困惑中。。。
感谢大家耐心的 帮助!!

理想很丰满·~现实很骨感!
2010-01-13 18:32
快速回复:(求助)有关文件内容处理的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037654 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved