| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:fwrite和fread的用法
取消只看楼主 加入收藏
浪崽
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2011-3-28
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:1 
fwrite和fread的用法
问一下fread和fwirte两个函数对于同一个文件是不是公用一个指针,还是各自的指针。
下面两个函数有什么区别,请知情人告诉我。
for(i=1;i<=nn;i++)
  {
    fread(p1,LEN,1,fp);
    p1->e=(p1->b)+(p1->c)+(p1->d);
    fseek(fp,LEN*(i-1),0);
    fwrite(p1,LEN,1,fp);
  }

for(i=1;i<=nn;i++)
  {
    fread(p1,LEN,1,fp);
    p1->e=(p1->b)+(p1->c)+(p1->d);
    fseek(fp,LEN*(i-1),0);
    fwrite(p1,LEN,1,fp);
    fseek(fp,LEN*i,0);
  }


[ 本帖最后由 浪崽 于 2011-4-9 20:21 编辑 ]
搜索更多相关主题的帖子: 知情人 
2011-04-09 12:04
浪崽
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2011-3-28
收藏
得分:0 
回复 2楼 hnuhsg1226
void zf()
{
  int i;
  TYPE *p1,boy1;
  FILE *fp;
  if((fp=fopen("D:\\xtgl","rb+"))==NULL)
  {
    printf("can't open the file");
    getchar();
    exit(1);
  }
  p1=&boy1;
  rewind(fp);
  for(i=1;i<=nn;i++)
  {
    fread(p1,LEN,1,fp);
    p1->e=(p1->b)+(p1->c)+(p1->d);
    fseek(fp,LEN*(i-1),0);
    fwrite(p1,LEN,1,fp);
    fseek(fp,LEN*i,0);
  }
  rewind(fp);
  printf("-------------------------------------------------------------------------------\n");
  printf("姓名\t学号\t语文成绩\t数学成绩\t英语成绩\t总分\n");
  printf("-------------------------------------------------------------------------------\n");
    for(i=1;i<=nn;i++)
    {
       fread(p1,LEN,1,fp);
       printf("%s\t %d\t %d\t\t%d\t\t%d\t\t%d\n", p1->name, p1->a, p1->b, p1->c, p1->d,p1->e);      
    }
fclose(fp);
}
按照你的意思是合用一个指针了,那上面两个应该一样了,但是结果却不同。
2011-04-09 12:50
快速回复:fwrite和fread的用法
数据加载中...
 
   



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

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