我是否缺少<experimental filesystem =“”>移动操作?

时间:2018-06-29 08:34:07

标签: c++ move

我是否缺少move()函数?我所能想到的最好的是一个硬链接副本,然后删除原始副本,但这使我无法手动管理这两项操作,也无法在整个文件系统上正常工作。

1 个答案:

答案 0 :(得分:2)

这不是移动,而是重命名。

std::filesystem::rename

  

将由old_p标识的文件系统对象移动或重命名为new_p,就像通过POSIX重命名一样

 void rename(const std::filesystem::path& old_p,
             const std::filesystem::path& new_p);

 void rename(const std::filesystem::path& old_p,  // (since C++17)
             const std::filesystem::path& new_p,
             std::error_code& ec) noexcept;