我正在试验新std::filesystem
图书馆。我希望制作一个程序,将用户列出的文件复制到给定目录中。std::filesystem::copy
但是当列出的文件位于子目录中时,使用或std::filesystem::copy_file
不起作用的天真方法。
例如,假设我想复制一些文件(some directory)
,比如说
(some directory)/file1.ext
(some directory)/subdir/file2.ext
进入(some other directory)
,所以我得到
(some other directory)/file1.ext
(some other directory)/subdir/file2.ext
该目录(some directory)
可能包含不需要复制的文件或目录等。如果我使用 just std::filesystem::copy
,则file1.ext
成功,但files2.ext
在没有时失败(some other directory)/subdir
。
解决方法是
- 调用
std::filesystem::path::remove_filename
以获取目录路径。 std::filesystem::create_directories
如果目录不存在,则调用创建目录。- 调用
std::filesystem::copy
以复制所需的文件。
我想知道是否有可能只用一个电话就可以采用这种 3 步方法。谢谢你。