coco1312 2015-09-05 15:45 采纳率: 0%
浏览 5051

求教两个C语言程序fseek(fp,0L,0)和rewind(fp)区别

程序一:
#include
main()
{
FILE fp;
int i,a[6]={1,2,3,4,5,6},k;
fp=fopen("data.dat","w+");
for(i=0;i<6;i++)
{
fseek(fp,0L,0);
_ _ fprintf(fp,"%d\n",a[i]);__
}
rewind(fp);
_ fscanf(fp,"%d",&k);_
fclose(fp);
printf("%d\n",k);
}
/

程序运行结果:
6
/
程序二:
#include
main()
{
FILE *fp;
int i,a[6]={1,2,3,4,5,6},k;
fp=fopen("data.dat","w+");
fprintf(fp,"%d\n",a[0]);
for(i=1;i<6;i++)
{
rewind(fp);
fprintf(fp,"%d\n",a[i]);
}
rewind(fp);
fscanf(fp,"%d",&k);
fclose(fp);
printf("%d\n",k);
}
/

程序运行结果:
6
*/

=====疑问1: fseek(fp,0L,0);和rewind(fp);有什么区别吗?
疑问2:参考答案说程序一退出循环后,文件fp中的数据为:654321;而文件二退出循环后,文件fp中的数据只保留了6??为什么呢?
疑问3:如何打印出退出循环后,文件fp中的数据呢? printf("%d\n",fp);可以吗?但运行程序貌似结果不对

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-09-05 21:34
    关注

    fseek(fp,0L,0);和rewind(fp);有什么区别吗
    没区别,后者是前者的特例。

    两个程序是否一样,取决于你的数据文件,你不但有读,也有写入

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题