| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 314 人关注过本帖
标题:c语言读写文件的问题
只看楼主 加入收藏
霄栋
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-25
收藏
 问题点数:0 回复次数:0 
c语言读写文件的问题
请先浏览下面两个函数,一个读取文件信息函数,一个是写入文件的函数
/*读取文件内容的函数*/
void load(void)
{FILE *fp;
 head=NULL;
 link *sta;
 if((fp=fopen("persondat.txt","r"))==NULL)
    {printf("打开文件错误“);
      exit(0);
    }
 while(!feof(fp))                //判断是否到达文件结尾
    {
      fscanf(fp,"%d%s%s%s%s%s%f",&per.number,per.name,per.pasword,per.birthday,per.tel,per.address,&per.money); //读取一行数据,然后赋值
      if(head==NULL)                                                                          //创建链表
         { head=(link*)malloc(sizeof(link));
           head->ner=per;
           head->p=NULL;
           current=head;
         }
    else{
        sta=(link*)malloc(sizeof(link));
        sta->ner=per;
        sta->p=NULL;
        current->p=sta;
       }
    }
 fclose(fp);
}


/*写入文件的函数*/
void exct(void)
{FILE *fp;
  if((fp=fopen("persondat.txt","w"))==NULL)
    {printf("Fail to open the file!!!\n");
     exit(0);
    }
  current=head;
  while(current!=NULL)
    {fprintf(fp,"%d %s %s %s %s %s %d\n",current->ner.number,current->ner.name,current->ner.pasword,current->ner.birthday,current->ner.tel,current->ner.address,current->ner.money);                          //将信息写入文件,每个结点占一行
     current=current->p;
    }
  fclose(fp);
  printf("\nPlease press any key to exit!!!\n");
  getchar()


1.这两个函数是对同一个文件进行操作的,读文件时文件的最后一行为什么都会被读两次呢?
2.feof函数是如何判断文件是否到达结尾的呢?
3.用"r"打开一个空文件,当再写入文件时,为什么文件开头都会多出来000000.0000呢?
只要知道一点的都可以指点一下,谢谢了
搜索更多相关主题的帖子: c语言 信息 
2011-12-25 16:55
快速回复:c语言读写文件的问题
数据加载中...
 
   



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

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