Function std.file.tempDir
Returns the path to a directory for temporary files.
string tempDir() @trusted;
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.
Returns
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:
- The directory given by the
TMPDIRenvironment variable. - The directory given by the
TEMPenvironment variable. - The directory given by the
TMPenvironment variable. /tmp/var/tmp/usr/tmp
On all platforms, tempDir returns "." on failure, representing
the current working directory.
Example
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");
writeln(myFile .readText); // "hello"