• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <filesystem>

    std::filesystem::path::make_preferred

    path& make_preferred();
    

    概要

    ディレクトリの区切り文字を推奨する形式に変換する。

    この関数は、環境非依存のディレクトリ区切り文字を、その環境 (OS) が推奨する形式に変換する。環境非依存のディレクトリ区切り文字として "/" (スラッシュ) があるが、例としてWindows環境では "\\" (バックスラッシュ) が推奨されるディレクトリ区切り文字となっている。

    環境が推奨するディレクトリ区切り文字は、このクラスのメンバ定数preferred_separatorで取得できる。

    戻り値

    *this

    POSIXベースシステムでの例

    #include <iostream>
    #include <filesystem>
    
    namespace fs = std::filesystem;
    
    int main()
    {
      // POSIX環境では推奨のディレクトリ区切り文字が "/" (スラッシュ)。
      // 環境非依存のディレクトリ区切り文字 "/" から変更がないため、この関数はなにもしない
      fs::path p = "foo/bar";
      p.make_preferred();
    
      std::cout << p << std::endl;
    }
    

    出力

    "foo/bar"
    

    Windowsでの例

    #include <iostream>
    #include <filesystem>
    
    namespace fs = std::filesystem;
    
    int main()
    {
      // Windows環境では推奨のディレクトリ区切り文字が "\\" (バックスラッシュ)。
      // 環境非依存のディレクトリ区切り文字 "/" が "\\" に変換される
      fs::path p = "foo/bar";
      p.make_preferred();
    
      std::cout << p << std::endl;
    }
    

    出力

    "foo\\bar"
    

    バージョン

    言語

    • C++17

    処理系