一、 文件的拷贝
#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;
}