- void file_copy(FILE *sf,FILE *df){
- while(!feof(sf)){
- fputc(fgetc(sf),df);
- }
- fclose(sf);
- fclose(df);
- }
- //只要将上面的函数改下即可:
- void file_copy(FILE *sf,FILE *df){
- char ch;
- while((ch=fgetc(sf))!=EOF){
- fputc(ch,df);
- }
- fclose(sf);
- fclose(df);
- }
文件复制时的尾巴就可去掉了..文件操作即没问题..
可能是好久没写程序了吧.对文件操作实在是很不熟练的说,,汗,,其实上面的两者基本一致..只有一点小小出入..
feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。 而上面的第一个函数是先将其读入再写进去,,最后才进行判断的,,故总是将最后的文件尾写入了复制中的新文件,,
而EOF是文件结束标志..上面的第二个函数是先判断再进行写入..好一简单的问题..纠结了我好久..晕了.这就是混的结果吧..
好久没思考,,或者说好久不知思考为何物.