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

履歴 編集

function
<filesystem>

std::filesystem::temp_directory_path(C++17)

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

処理系