您的位置:首页 > 编程语言 > C语言/C++

c/c++ 文件复制(拷贝)

2010-06-19 22:37 405 查看
/**
* 文件拷贝
* @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;
}


运行效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: