C++实现将一个文件夹内容拷贝至另一个文件夹

Windows提供了非常好用的方法SHFileOperation,而且功能强大, 不光可以拷贝,还有移动、删除等等操作。直接上代码:

 1 void CopyFolder(TCHAR* srcFolder, TCHAR* dstFolder)
 2 {
 3     SHFILEOPSTRUCT fop = {0};
 4     fop.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
 5     fop.wFunc = FO_COPY;//选择执行类型,FO_COPY,FO_DELETE,FO_RENAME,FO_MOVE四种
 6 
 7     fop.pFrom = srcFolder;//如:D:\\*.txt
 8     fop.pTo = dstFolder;//D:\\test
 9 
10     SHFileOperation(&fop);
11 }

需要注意一点是,由于入参是TCHAR,因此,在Unicode工程下是宽字符,多字节工程下是ANSI,因此确保输入参数正确。关于字符串转换可以参考:

CString、string、wstring、utf-8互转

 

posted @ 2020-04-23 19:24  快雪  阅读(6480)  评论(0)    收藏  举报