小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

fputc(c,out)

 WUCANADA 2013-01-29
最近在學(xué)C語言文件那一章的時(shí)候遇到了一個(gè)不明白的問題,請大家?guī)兔匆幌隆?br> file1.txt是磁盤中已經(jīng)存在的一個(gè)文件,現(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)容的末尾多出來了一個(gè)奇怪的符號,
若將while那一部分修改如下,便不會再有那個(gè)奇怪的符號出現(xiàn)了:
    c=fgetc(in);
  while(c!=EOF)
   {  fputc(c,out);
     c=fgetc(in);
   }
 請問這是怎么回事???
問題在這里
在文件尾的時(shí)候,這兩句話一樣會執(zhí)行
c=fgetc(in);
// 此時(shí)已經(jīng)是EOF了,再輸出,就是個(gè)亂碼
fputc(c,out);

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多