秦晓彬 发表于 2014-4-6 21:55:15

怎样将文件a的内容写到文件b中

本帖最后由 秦晓彬 于 2014-4-6 21:55 编辑

下面的代码不能写入,还请大神帮忙看看
/*
      时间:2014年4月6日17:05:27
      目的:实现将文件a中的内容写到文件b中
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main ()
{
      FILE*fp;
      FILE*rp;
      char filename1;
      char filename2;

      lable1:;
      printf("please input the first filename:\n");
      gets(filename1);
      fp=fopen(filename1,"r");
      if (NULL==fp)
      {
                printf("the first file open fail!!\n");
                //exit(0);
                goto lable1 ;
      }
      lable2:;

      printf("please input the filename you want keep:\n");
      gets(filename2);
      rp=fopen(filename2,"ab+");
      if (NULL==rp)
      {
                printf("the file crate fail!!\n");
                //exit(0);
                goto lable2 ;
      }
      //这里使用fcanf,和fprintf
      //fscanf(FILE *, const char *, ...);
      //fprintf(FILE *, const char *, ...);
      int ch=0;
      printf("writing……\n");
      while(feof(fp))//feof(fp)注意这里的fp 不能使rb(以二进制打开的文件)EOF!=ch
      {
                fscanf(fp,"%d",&ch);//读取fp所指向的文件的文件的内容,并存到ch中
                fprintf(rp,"%d",ch);//把ch写到rp所指向的文件中
      }
      printf("write finished.\n");
      system("pause");
      fclose(fp);
      fclose(rp);
      return 0;
}

EOF!=ch和 feof(fp) 有什么区别,在这里为什为执行的结果不一样

页: [1]
查看完整版本: 怎样将文件a的内容写到文件b中