我正在试验新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 步方法。谢谢你。