D and cygwin io.

Rory Mcguire rjmcguire at gm_no_ail.com
Tue Jul 27 08:16:50 PDT 2010


dcoder wrote:

> Hello.  Here's a short program that works in a dos window:
> 
> import std.stdio;
> 
> void main() {
> 
>   writef( "What is your name?");
> 
>   string name = readln();
>   writefln( "Hello " ~ name);
> }
> 
> The program prints a prompt without a newline and the user enters a name
> and a greeting is printed.
> 
> The same program does not seem to work when at a cygwin prompt.  The
> program
> seems to pause.  It is actually waiting for input.  So, if I type in a
> name and hit return, the prompt and the greeting appears as expected but
> on one line.
> 
> I can change writef to writefln and it will work on the cygwin prompt and
> on the dos prompt, but now a newline will be added after the prompt
> message.
> 
> I'm wondering how can I fix this?  I am using bash shell on cygwin.
> 
> 
> thanks.


try flushing the output after the write: stdout.flush();


More information about the Digitalmars-d-learn mailing list