Visual Studio 2019 プレビュー版の16.6が3月16日に公開されていたので、先日報告した件が修正されているか試した。
#include <filesystem> #include <iostream> #include <fstream> #include <stdio.h> int main(int argc, char** argv) { std::error_code ec; std::ofstream ofs1(std::string(argv[1]) + "/a.tmp"); ofs1.close(); std::cout << ec.value() << " " << ec.message() << std::endl; std::filesystem::remove(std::string(argv[1]) + "/a.tmp", ec); std::cout << ec.value() << " " << ec.message() << std::endl; std::ofstream ofs2(std::string(argv[1]) + "/a.tmp"); ofs2.close(); std::cout << ec.value() << " " << ec.message() << std::endl; std::filesystem::rename(std::string(argv[1]) + "/a.tmp", std::string(argv[1]) + "/b.tmp", ec); std::cout << ec.value() << " " << ec.message() << std::endl; remove((std::string(argv[1]) + "/b.tmp").c_str()); std::cout << ec.value() << " " << ec.message() << std::endl; return 0; }
HドライブのファイルシステムはReFSである。
16.6でコンパイルしたとき
PS C:\Users\Administrator\Desktop> .\VSTest.exe H: 0 この操作を正しく終了しました。 0 この操作を正しく終了しました。 0 この操作を正しく終了しました。 0 この操作を正しく終了しました。 0 この操作を正しく終了しました。
16.5でコンパイルしたとき
PS C:\Users\Administrator\Desktop> .\VSTest.exe H: 0 この操作を正しく終了しました。 50 この要求はサポートされていません。 50 この要求はサポートされていません。 0 この操作を正しく終了しました。 0 この操作を正しく終了しました。
正しく修正されている。正式リリースが待ち遠しい。