On Saturday, 17 January 2015 at 17:16:41 UTC, Tobias Pankrath wrote:
You're looking for core.sys.posix.stdlib : mkstemp.

I think that should be used by std.stdio.File as well, care to create an enhancement request in bugzilla?

Though this thread is old, I ran into the issue when wanting to create a temporary file in my D program and so filed this: https://issues.dlang.org/show_bug.cgi?id=17926

For my program right now I'm using a souped-up version using a static array:

import std.stdio;

struct TempFile
{
    string name;
    private File handle;
    alias handle this;
}

TempFile tempFileOpen()
{
    char[20] name = "/tmp/XXXXXX";
    File handle;

    import core.sys.posix.stdlib: mkstemp;
    handle.fdopen(mkstemp(name.ptr), "w");

    import std.string: fromStringz;
    return TempFile(fromStringz(name.ptr).idup, handle);
}

void main()
{
    TempFile tfile;
    tfile = tempFileOpen();
    writeln(tfile.name);
    tfile = tempFileOpen();
    writeln(tfile.name);
}

Reply via email to