• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    function
    <filesystem>

    std::filesystem::temp_directory_path

    namespace std::filesystem {
      path temp_directory_path();                    // (1)
      path temp_directory_path(std::error_code& ec); // (2)
    }
    

    概要

    一時ファイル用ディレクトリのパスを取得する。

    戻り値

    一時ファイルを保存するディレクトリを指す、未規定の適切なパスを返す。

    この関数によって返されるパスが、存在しない、あるいはディレクトリではない場合は、エラーを報告する。(2)では、エラーの場合はpath()が返る。

    例外

    • (1) : ファイルシステムがエラーを報告する場合がある。それに加えて、この関数によって返されるパスが、存在しない、あるいはディレクトリではない場合もエラーである。エラーが発生した場合は、std::filesystem::filesystem_error例外を送出する
    • (2) : 仕様上は未規定だが、パスのメモリ確保で例外が発生する可能性がある

    備考

    • POSIXベースOS上では、実装は環境変数TMPDIRTMPTEMPTEMPDIRが見つかったらそれを返し、なければ"/tmp"を返すだろう
    • WindowsベースOS上では、実装はGetTempPath() APIの戻り値を返すだろう

    #include <iostream>
    #include <filesystem>
    
    namespace fs = std::filesystem;
    
    int main()
    {
      fs::path p = fs::temp_directory_path();
      std::cout << p << std::endl;
    }
    

    出力例

    "/tmp"
    

    バージョン

    言語

    • C++17

    処理系