bool CopyFile(const char *src, const char *des) { FILE * fSrc = fopen(src, "rb"); if(!fSrc) { printf("打开文件`%s`失败", src); return false; } FILE * fDes = fopen(des, "wb"); if(!fDes) { printf("创建文件`%s`失败", des); return false; } unsigned char * buf; unsigned int length; fseek(fSrc, 0, SEEK_END); length = ftell(fSrc); buf = new unsigned char[length+1]; memset(buf, 0, length+1); fseek(fSrc, 0, SEEK_SET); fread(buf, length, 1, fSrc); fwrite(buf, length, 1, fDes); fclose(fSrc); fclose(fDes); delete [] buf; return true; } int main() { char src[260] = { 0 }; char des[260] = { 0 }; printf("输入原文件名:"); scanf("%s", &src); printf("输入目标文件名:"); scanf("%s", &des); if(CopyFile(src, des)) printf("文件复制成功"); else printf("文件复制失败"); return 0; }