[求助]文件复制问题。
文件复制的时候,发现只要源文件最后以一个空行结束,最后目标文件必定要比源文件多1行空行,如果文件不是以回车空行结尾,那么复制是正常的。求高人解答!并告知解决方法!
#include <stdio.h>int main(void) { FILE* fp1=fopen("src.txt","r"); if(fp1==NULL) { printf("open file failed\n"); } FILE* fp2=fopen("des.txt","w"); if(fp2==NULL) { printf("open file failed\n"); } char buf[1024]; long pos; while(fread(&buf,sizeof(buf),1,fp1)) { pos=ftell(fp1); fwrite(&buf,sizeof(buf),1,fp2); } if(feof(fp1)) { fseek(fp1,pos,SEEK_SET); char temp; while(!feof(fp1)) { fread(&temp,sizeof(char),1,fp1); fwrite(&temp,sizeof(char),1,fp2); } }else { printf("write file failed\n"); } return 0;}