std::filesystem::temp_directory_path

 
 
 
Defined in header <filesystem>
path temp_directory_path();
path temp_directory_path( std::error_code& ec );
(1) (since C++17)

Returns the directory location suitable for temporary files.

Parameters

(none)

Return value

A directory suitable for temporary files. The path is guaranteed to exist and to be a directory. The overload that takes error_code& argument returns an empty path on error.

Exceptions

The overload that does not take a std::error_code& parameter throws filesystem_error on underlying OS API errors, constructed with path to be returned as the first path argument and the OS error code as the error code argument. The overload taking a std::error_code& parameter sets it to the OS API error code if an OS API call fails, and executes ec.clear() if no errors occur. Any overload not marked noexcept may throw std::bad_alloc if memory allocation fails.

Notes

On POSIX systems, the path may be the one specified in the environment variables TMPDIR, TMP, TEMP, TEMPDIR, and, if none of them are specified, the path "/tmp" is returned.

On Windows systems, the path is typically the one returned by GetTempPath

Example

#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
    std::cout << "Temp directory is " << fs::temp_directory_path() << '\n';
}

Possible output:

Temp directory is "C:\Windows\TEMP\"

See also

creates and opens a temporary, auto-removing file
(function)