stdout - autoflushing
H. S. Teoh
hsteoh at quickfur.ath.cx
Tue Dec 3 09:47:59 PST 2013
On Tue, Dec 03, 2013 at 06:12:20PM +0100, Benji wrote:
> Hello,
> in order to have correctly displayed output (before reading
> something from stdin),
> I must call stdout.flush().
> Sometimes, it's really annoying, especially when it is necessarry to
> call it 10 times.
>
> For example:
> write("Enter some string: ");
> stdout.flush();
> string a = readln();
> write("And again please: ");
> stdout.flush();
> string b = readln();
> ...
>
> Is there any way to prevent this?
What about:
void prompt(A...)(string fmt, A args)
{
writef(fmt, args);
stdout.flush();
return readln();
}
auto a = prompt("Enter your name: ");
auto b = prompt("Enter your age: ").to!int;
... // etc.
T
--
If you think you are too small to make a difference, try sleeping in a closed room with a mosquito. -- Jan van Steenbergen
More information about the Digitalmars-d-learn
mailing list