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 @   快雪  阅读(6247)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示