User input; quick question.

cym13 via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Apr 29 14:18:27 PDT 2017


On Saturday, 29 April 2017 at 21:09:13 UTC, fred wrote:
> import std.stdio;
>
> I am somewhat new to D, and I am trying to receive user input, 
> like this, with a prompt:
>
> string str;
> writeln("Enter a string: ");
> str = readln;
> writeln(str);
>
> However, the prompt appears after I enter the input; any reason 
> why?
>
> I've trawled the internet for a good hour, but I can't seem to 
> find an answer.

Your code is correct, it's your terminal or whatever you use to 
see your program's output that doesn't flush stdout. You can 
force it though:

string str;
writeln("Enter a string: ");
stdout.flush;
str = readln;
write(str);


More information about the Digitalmars-d-learn mailing list