digitalmars.D.learn - D and cygwin io.
- dcoder (16/16) Jul 27 2010 Hello. Here's a short program that works in a dos window:
- Rory Mcguire (2/31) Jul 27 2010 try flushing the output after the write: stdout.flush();
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.
Jul 27 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();
Jul 27 2010