[RFC] I/O and Buffer Range

Jason White 54f9byee3t32 at gmail.com
Sat Jan 4 21:22:06 PST 2014


On Saturday, 4 January 2014 at 13:32:15 UTC, Dmitry Olshansky 
wrote:
> IMHO C run-time I/O has no use in D. The amount of work spent 
> on special-casing the non-locking primitives of each C run-time,
> repeating legacy mistakes (like text mode, codepages and 
> locales) and stumbling on portability problems (getc is a macro 
> we can't have) would have been better spent elsewhere - 
> designing our own I/O framework.

I agree. I wrote a (mostly complete) file stream implementation 
that uses the native I/O API:

     https://github.com/jasonwhite/io/blob/master/src/io/file.d

It allows for more robust open-flags than the fopen-style flags 
(like "r+"). For seeking, I adapted it to use your concept of 
marks (which I quite like) instead of SEEK_CUR and friends.

Please feel free to use this! (The Windows implementation hasn't 
been tested yet, so it probably doesn't work.)

BTW, I was also working on buffered streams, but couldn't figure 
out a good way to do it.


More information about the Digitalmars-d mailing list