randomIO, std.file, core.stdc.stdio
Charles Hixson via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 25 18:19:49 PDT 2016
On 07/25/2016 05:18 PM, ketmar via Digitalmars-d-learn wrote:
> On Monday, 25 July 2016 at 18:54:27 UTC, Charles Hixson wrote:
>> Are there reasons why one would use rawRead and rawWrite rather than
>> fread and fwrite when doiing binary random io? What are the advantages?
>>
>> In particular, if one is reading and writing structs rather than
>> arrays or ranges, are there any advantages?
>
> yes: keeping API consistent. ;-)
>
> for example, my stream i/o modules works with anything that has
> `rawRead`/`rawWrite` methods, but don't bother to check for any other.
>
> besides, `rawRead` is just looks cleaner, even with all `(&a)[0..1])`
> noise.
>
> so, a question of style.
>
OK. If it's just a question of "looking cleaner" and "style", then I
will prefer the core.stdc.stdio approach. I find it's appearance
extremely much cleaner...except that that's understating things. I'll
probably wrap those routines in a struct to ensure things like files
being properly closed, and not have explicit pointers persisting over
large areas of code.
(I said a lot more, but it was just a rant about how ugly I find
rawRead/rawWrite syntax, so I deleted it.)
More information about the Digitalmars-d-learn
mailing list