| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:fwrite和fread的用法
只看楼主 加入收藏
浪崽
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2011-3-28
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:2 
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
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:5 
根据实际情况而定
主要看你是怎么打开文件的,如果可以用“r+”或者用“w+”打开文件,就可以共用同一个指针
一般情况下,是分别用的

我的地盘
2011-04-09 12:12
浪崽
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.024457 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved