On Windows, this function returns the result of calling the Windows API function GetTempPath.
On POSIX platforms, it searches through the following list of directories and returns the first one which is found to exist:
On all platforms, tempDir returns "." on failure, representing the current working directory.
import std.ascii : letters; import std.conv : to; import std.path : buildPath; import std.random : randomSample; import std.utf : byCodeUnit; // random id with 20 letters auto id = letters.byCodeUnit.randomSample(20).to!string; auto myFile = tempDir.buildPath(id ~ "my_tmp_file"); scope(exit) myFile.remove; myFile.write("hello"); assert(myFile.readText == "hello");
Returns the path to a directory for temporary files. On POSIX platforms, it searches through the following list of directories and returns the first one which is found to exist:
On all platforms, tempDir returns the current working directory on failure.
The return value of the function is cached, so the procedures described below will only be performed the first time the function is called. All subsequent runs will return the same string, regardless of whether environment variables and directory structures have changed in the meantime.
The POSIX tempDir algorithm is inspired by Python's tempfile.tempdir.