VC/MFC(C++)实现文件拷贝和文件删除等

1、文件拷贝

/
//MFC版 文件拷贝
/
void FileCopyTo(CString source, CString destination, CString searchStr, BOOL cover = TRUE)
{
CString strSourcePath = source;
CString strDesPath = destination;
CString strFileName = searchStr;
CFileFind filefinder;
CString strSearchPath = strSourcePath + "//" + strFileName;
CString filename;
BOOL bfind = filefinder.FindFile(strSearchPath);

CString SourcePath, DisPath;
while (bfind)
{
   bfind = filefinder.FindNextFile();
   filename = filefinder.GetFileName();
   SourcePath = strSourcePath + "//" + filename;
   DisPath = strDesPath + "//" + filename;
   CopyFile((LPCSTR)SourcePath, (LPCSTR)DisPath, cover);
}
filefinder.Close();
}

/
//C++版 文件拷贝
/
#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
#include <io.h>
#include <windows.h>
void FileCopyTo(char *source, char *dis, char *searchChars, bool bcover /*= true*/)
{   
struct _finddata_t   ffblk;  
char path[256], SourcePath[256], DisPath[256];  
sprintf(path,"%s//q_*",source);  
long done = _findfirst(path,&ffblk);  
int find=0;  
while (find==0)    
{    
   if(strcmp(ffblk.name, "q_"))
   {
   sprintf(SourcePath, "%s//%s",source, ffblk.name);
   sprintf(DisPath, "%s//%s",dis, ffblk.name);
   CopyFile(SourcePath, DisPath, bcover);
   }
   find=_findnext(done,&ffblk);    
}  
_findclose(done);  
}

2、文件删除

//删除文件夹目录(非空)
bool DeleteDirectory(char* sDirName)
{
CFileFind tempFind;
char sTempFileFind[200] ;

sprintf(sTempFileFind,"%s//*.*",sDirName);
BOOL IsFinded = tempFind.FindFile(sTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();

if (!tempFind.IsDots())
{
char sFoundFileName[200];
strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200));

if (tempFind.IsDirectory())
{
char sTempDir[200];
sprintf(sTempDir,"%s//%s",sDirName,sFoundFileName);
DeleteDirectory(sTempDir);
}
else
{
char sTempFileName[200];
sprintf(sTempFileName,"%s//%s",sDirName,sFoundFileName);
DeleteFile(sTempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(sDirName))
{
return FALSE;
}
return TRUE;
}
-------------------------------------------------------------
方法二(直接调用命令):

#include< stdlib.h >
#include< stdio.h >

int main( )
{
system( "md d://aa//zhao " ); // 在下新建文件夹
system( "del d://aa//zhao " ); // 删除该文件夹下的所有文件
}
文章出处:http://www.diybl.com/course/3_program/vc/vc_js/2008426/111574.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值