电竞比分网-中国电竞赛事及体育赛事平台

分享

fputc(c,out)

 WUCANADA 2013-01-29
最近在學(xué)C語言文件那一章的時候遇到了一個不明白的問題,請大家?guī)兔匆幌隆?br> file1.txt是磁盤中已經(jīng)存在的一個文件,現(xiàn)將其內(nèi)容復(fù)制到另一文件file2.txt中,程序是這樣的:
#include<stdio.h>
 main()
  { FILE *in,*out;
   char c,infile[20],outfile[20];
   printf("Please input infile name:");
   scanf("%s",infile);
   printf("Please input outfile name:");
   scanf("%s",outfile);
   if((in=fopen(infile,"r"))==NULL)
     {  printf("cannot open the file!\n");
        exit(0);
     }
   if((out=fopen(outfile,"w"))==NULL)
     {  printf("cannot open the file!\n");
        exit(0);
     }
   while(!feof(in))
     {
       c=fgetc(in);
       fputc(c,out);
     }
    fclose(in);
    fclose(out);
  }
 在輸入file1.txt回車,file2.txt回車后,發(fā)現(xiàn)file2文件內(nèi)容的末尾多出來了一個奇怪的符號,
若將while那一部分修改如下,便不會再有那個奇怪的符號出現(xiàn)了:
    c=fgetc(in);
  while(c!=EOF)
   {  fputc(c,out);
     c=fgetc(in);
   }
 請問這是怎么回事???
問題在這里
在文件尾的時候,這兩句話一樣會執(zhí)行
c=fgetc(in);
// 此時已經(jīng)是EOF了,再輸出,就是個亂碼
fputc(c,out);

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多