Truncate is missing from std.stdio.File, will this do the trick?

spikespaz spikespaz at outlook.com
Tue Jul 24 00:15:37 UTC 2018


I needed a truncate function on the `std.stdio.File` object, so I 
made this function. Does it look okay? Are there any 
cross-platform improvements you can think of that should be added?


import std.stdio: File;

void truncate(File file, long offset) {
     version (Windows) {
         import core.sys.windows.windows: SetEndOfFile;

         file.seek(offset);
         SetEndOfFile(file.windowsHandle());
     }

     version (Posix) {
         import core.sys.posix.unistd: ftruncate;

         ftruncate(file.fileno(), offset);
     }
}



More information about the Digitalmars-d mailing list