使用 std::filesystem 替换文件

Replace file using std::filesystem

常有规律

  1. 将输出写入临时文件(bla.txt.tmp)
  2. 正在删除原来的 (rm bla.txt)
  3. 重命名一个新的(bla.txt.tmp -> bla.txt)

std::filesystem 中是否有任何实用函数可以执行此操作,或者我需要使用重命名和删除逐个执行步骤。

没有。标准库中没有这样的实用函数。不过,每个步骤都可以用 std::filesystem 完成,您可以自己编写这样的实用函数。

std::filesystem::rename 确实在一次调用中执行了步骤 2. 和 3.,但创建新文件必须单独完成。