|  | 
 
| 
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  复制代码#include<stdio.h>
int main()
{
        FILE *fp1,*fp2;
        fp1=fopen("file1.txt","r");
        fp2=fopen("file2.txt","w");
        while(!feof(fp1)) putchar(getc(fp1));
        rewind(fp1);//返回起始位置 
        while(!feof(fp1)) putc(getc(fp1),fp2);
        printf("file1.txt内容已经复制到了file2.txt里面");
        fclose(fp1);
        fclose(fp2);
} 
 
 程序可以运行,没有错误,完成将file1.txt文件输出,并复制到file2.txt里面,
 但是我运行一次之后,再点一次编译运行,并没有多复制一遍,
 按理说不应该是运行一次,file2里面就多一遍file1的内容吗?求解释
 
 本帖最后由 jackz007 于 2019-11-24 18:32 编辑 
      这一句:
 复制代码        fp2=fopen("file2.txt","w");
      每次执行的时候,会检查文件 "file2.txt" 是否已经存在,如果是,那就先把文件长度截断为 0,然后再打开;如果否,那就直接新建文件,然后再打开。所以,无论运行多少遍,文件 "file2.txt" 始终只有 1 份 "file1.txt" 文件的内容。 | 
 |