0

我正在试验新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

解决方法是

  1. 调用std::filesystem::path::remove_filename以获取目录路径。
  2. std::filesystem::create_directories如果目录不存在,则调用创建目录。
  3. 调用std::filesystem::copy以复制所需的文件。

我想知道是否有可能只用一个电话就可以采用这种 3 步方法。谢谢你。

4

1 回答 1

0
std::filesystem::copy("(some directory)", "(some other directory)", std::filesystem::copy_options::recursive);

来源:http ://en.cppreference.com/w/cpp/filesystem/copy_options

于 2017-03-23T02:32:48.370 回答