物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

ファイルシステムReFSでstd::filesystem::removeがエラーコード 50 この要求はサポートされていません→16.6で修正予定

Hドライブで、ファイルの保存用にResilient File System (ReFS)を使ってる。 std::filesystem::remove がエラーコード 50で、この要求はサポートされていません。が帰ってきた。

ソースコード

#include <filesystem>
#include <iostream>

int main() {
    std::error_code ec;
    std::filesystem::remove("H:/a.tmp", ec);
    std::cout << ec.value() << " " << ec.message() << std::endl;

    std::filesystem::rename("H:/a.tmp", "H:/b.tmp", ec);
    std::cout << ec.value() << " " << ec.message() << std::endl;

    return 0;
}

出力

50 この要求はサポートされていません。
0 この操作を正しく終了しました。

stdio.h内で定義されているremoveは上手く動くようだ。

以下、におけるDeveloper Community におけるレポート。

developercommunity.visualstudio.com

既に修正コードはcommit済みで、Visual Studio 2019 version 16.6で修正される予定とのこと。

github.com