/** * 文件拷贝 * @author xxingup@gmail.com * 2010/06/19 */ #include <iostream> /** * 拷贝文件 * @param src 原文件 * @param des 目标文件 * @return ture 拷贝成功, false 拷贝失败 */ 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; } 运行效果: