首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >10次读写文件内容

10次读写文件内容
EN

Stack Overflow用户
提问于 2014-02-16 06:16:13
回答 2查看 91关注 0票数 1

我有一个文本文件"hello.txt",我需要读取该文件并将其写入stdout 10次,如何做到这一点?

我现时所做的工作如下:

代码语言:javascript
复制
#include<stdio.h>
main(){
 int c,i;
 FILE *fp;
 for(i=0;i<10;++i) {
    fp = fopen("hello.txt","r");
    for(;c!=EOF;c= getc(fp),putchar(c));
    fclose(fp);
 }
 return 0;
}

此代码只打印内容1次,但不打印10次。

EN

回答 2

Stack Overflow用户

发布于 2014-02-16 06:22:03

代码语言:javascript
复制
#include<stdio.h>
main(){
 int c,i;
 FILE *fp;
 for(i=0;i<10;++i) {
    fp = fopen("hello.txt","r");
    while ((c = getc(fp)) != EOF) {
      putchar(c);
    }
    fclose(fp);
 }
 return 0;
}

在您的代码中,当c变成EOF时,循环将永远被忽略!

票数 2
EN

Stack Overflow用户

发布于 2014-02-16 06:25:12

在再次读取文件之前,必须初始化c。在您的代码中,一旦cEOF,它就会永远保留它,并且不会进入for循环。

代码语言:javascript
复制
c = 0;
for(;c!=EOF;c= getc(fp),putchar(c));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21807998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档