On Saturday, 26 March 2016 at 00:10:23 UTC, Chris Williams wrote:
I need to be able to perform random access I/O against a file,
creating a new file if it doesn't exist, or opening as-is (no
truncation) if it already exists.
None of the access modes for std.stdio.File seem to allow that.
Any usage of the "w" mode causes my code to consider the file
empty if it pre-exists (though, it doesn't always actually
truncate the disk on file?)
If I was coding in C, I would use open() as it gives more
options for access:
http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html
However, I don't see this exposed in phobos anywhere?
The Programming in D book chapter on Files
http://ddili.org/ders/d.en/files.html will help. I think the
"std.stdio.File struct" section on the same page has what you
need. Also, take a look at
http://dlang.org/phobos/std_stdio.html#.File.open.