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 " ); // 删除该文件夹下的所有文件

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值