加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c:fopen和fprint

发布时间:2020-12-16 10:29:29 所属栏目:百科 来源:网络整理
导读:据我所知,在下一个代码中: int main () { FILE * f1; f1 = fopen("f1.txt","a"); for (i =0 ; i10;i++) fprintf(f1,"%d ",i); fclose(f1); f1 = fopen("f1.txt","a"); for (i =0 ; i10;i++) fprintf(f1,i); fclose(f1);} 我将进入文件f1,下一个序列:0 1 2
据我所知,在下一个代码中:

int main () {
    FILE * f1;
    f1 = fopen("f1.txt","a");
    for (i =0 ; i<10;i++) fprintf(f1,"%d ",i);
    fclose(f1);
    f1 = fopen("f1.txt","a");
    for (i =0 ; i<10;i++)   fprintf(f1,i);
    fclose(f1);}

我将进入文件f1,下一个序列:0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9.我不明白为什么.当我关闭文件并再次打开它时,它不记得结束文件.我预计第二个循环将覆盖之前的文本,我将得到0 1 2 3 4 5 6 7 8 9.那么 – 发生了什么?

解决方法

这是因为你以模式“a”打开文件,它代表追加.新文本将添加到文件末尾.

如果你想写下已经存在的内容,请将第二个fopen替换为:

f1 = fopen("f1.txt","w");

“w”代表写入,并将用新文本替换已存在的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读