C/C++使用自动递归文件夹/目录创建复制文件

min*_*ang 5 c c++ file-io winapi

在Win32 API中,有一个字面复制文件的CopyFile.但是,此API不会创建文件夹.例如,我想复制C:\Data\output.txtD:\Temp\Data\output.txt.但是,目标文件夹D:\TempD:\Temp\Data',不存在.在这种情况下,此API失败.

是否有一个方便的API可以自动和递归地在副本上创建目录结构?当然,我可以做这样的功能,但我希望有人已经完成了这个功能.

Aar*_*otz 6

SHFileOperation应该做的伎俩.来自MSDN:

复制和移动操作可以指定不存在的目标目录.在这些情况下,系统会尝试创建它们,并且通常会显示一个对话框,询问用户是否要创建新目录.要禁止显示此对话框并以静默方式创建目录,请在其中设置FOF_NOCONFIRMMKDIR 标志fFlags.