您的位置:首页 > 其它

MFC实现文件复制删除功能

2016-04-29 12:56 369 查看
用MFC实现指定文件夹下所有文件的复制(包括含有子文件夹),删除指定文件夹下所有文件功能

#include <afxwin.h>

#include<stdio.h>

//#include <stdafx.h>

using namespace std;

void myCopyDirectory(CString source, CString target)

{

CFileFind finder;

bool bWorking = finder.FindFile(source+"\\*.*");

while (bWorking){

bWorking = finder.FindNextFile();

if (finder.IsDirectory() && !finder.IsDots()){ //是文件夹 而且 名称不含 . 或 ..

CreateDirectory(target + "/" + finder.GetFileName(), NULL);

myCopyDirectory(finder.GetFilePath(), target + "/" + finder.GetFileName()); //递归创建文件夹+"/"+finder.GetFileName()

}

else{ //是文件 则直接复制

CopyFile(finder.GetFilePath(), target + "/" + finder.GetFileName(), FALSE);

}

}

}

void myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容

{

CFileFind finder;

BOOL bWorking = finder.FindFile(directory_path + "\\*.*");

while (bWorking){

bWorking = finder.FindNextFile();

if (finder.IsDirectory() && !finder.IsDots()){//处理文件夹

myDeleteDirectory(finder.GetFilePath()); //递归删除文件夹

RemoveDirectory(finder.GetFilePath());

}

else{//处理文件

DeleteFile(finder.GetFilePath());

}

}

RemoveDirectory(directory_path);

}

int main(){

myCopyDirectory("C:\\二级文件夹", "C:\\一级文件夹");

myDeleteDirectory("C:\\三级文件夹");

return 0;

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