代码之家  ›  专栏  ›  技术社区  ›  J Collins

是否有我丢失的<experimental/filesystem>移动操作?

  •  2
  • J Collins  · 技术社区  · 7 年前

    是否缺少move()函数?我想到的最好的办法是先删除原始文件,再删除原始文件,但这并不能让我对手动管理这两个操作充满信心,也不能跨文件系统工作。

    1 回复  |  直到 7 年前
        1
  •  2
  •   t.niese    7 年前

    它不是移动而是重命名。

    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;