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互转

浙公网安备 33010602011771号