关于上次的文件错误解答

Code:
  1. void file_copy(FILE *sf,FILE *df){       
  2.     while(!feof(sf)){       
  3.     fputc(fgetc(sf),df);       
  4.     }          
  5.     fclose(sf);       
  6.     fclose(df);         
  7. }   
  8.   
  9. //只要将上面的函数改下即可:   
  10. void file_copy(FILE *sf,FILE *df){     
  11.     char ch;     
  12.     while((ch=fgetc(sf))!=EOF){       
  13.     fputc(ch,df);       
  14.     }          
  15.     fclose(sf);       
  16.     fclose(df);         
  17. }   

文件复制时的尾巴就可去掉了..文件操作即没问题..

可能是好久没写程序了吧.对文件操作实在是很不熟练的说,,汗,,其实上面的两者基本一致..只有一点小小出入..

feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。 而上面的第一个函数是先将其读入再写进去,,最后才进行判断的,,故总是将最后的文件尾写入了复制中的新文件,,

而EOF是文件结束标志..上面的第二个函数是先判断再进行写入..好一简单的问题..纠结了我好久..晕了.这就是混的结果吧..

好久没思考,,或者说好久不知思考为何物.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值