我正在使用文件系统
来复制一个目录。我希望以递归方式复制目录并覆盖任何现有文件。
我使用以下代码来复制目录并且它有效。但是,我只能为 copy_options
设置 recursive
或 overwrite_existing
,不能同时设置。
filesystem::copy(pathInput, pathOutput, filesystem::copy_options::recursive);
有没有一种方法可以将多个选项与复制功能一起使用?
我正在使用 this site作为选项的引用,但它没有说明同时使用多个选项。
最佳答案
他们是位标志所以
filesystem::copy(pathInput, pathOutput, filesystem::copy_options::recursive | filesystem::copy_options::overwrite_existing)
要添加更多细节,在较低级别上,每个标志都是一个整数位(开/关),所以...
01 = 覆盖 10 = 递归 11 = 两者 00 = 无
|运算符是一个二元运算符,或者如果任一位(或两者)为真则等于真,因此:
01 | 10 = 11
00 | 11 = 11
11 | 11 = 11
00 | 00 = 00
关于c++ - 在 C++ 中为 filesystem::copy 使用多个复制选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256314/