stdout.flush

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed May 25 11:22:29 PDT 2016


On 5/25/16 2:09 PM, Charles Hixson via Digitalmars-d-learn wrote:
> Using:
> dmd --version
> DMD64 D Compiler v2.071.0
>
> on debian Linux, and importing:
> import    std.stdio;
>
> the line:
>      flush();
> causes:
> nt.d(29): Error: undefined identifier 'flush', did you mean function
> 'fflush'?
>
> This appears solved by doing stdout.flush;  (compiles, but I'm still
> writing the code) but as write, writef, etc. don't require explicitly
> mentioning stdout, I think that the documentation for flush should
> mention that the file must be specified.  Currently it seems to imply
> that all files will be flushed.

write, writef, etc. are all forwarding functions to stdout.write, 
stdout.writef, etc. It's not that it doesn't require mentioning stdout, 
it's that you have a shortcut defined.

Just like C has printf, and fprintf, we have both. But because this 
isn't C, we don't need to change the name :)

flush as a standalone function is not supported at this time. I doubt it 
will be.

-Steve


More information about the Digitalmars-d-learn mailing list