Its not skipping its looping on "a\r\n" if you're on windows.
Linux it does the same but only "a\n".
Not sure how you'd make it so that you don't have to wait for the
return press. Probably has something to do with console settings,
which are probably platform dependent.
-Rory
Andrej Mitrovic wrote:
> I have some D1 code that I'm transfering to D2, and it's using
getchar. I
> think I need to flush the buffer or something because the loop tends
to
> skip:
>
> import std.c.stdio;
> import std.stdio;
>
> void main()
> {
> char k;
>
> for(int i = 0; i < 10; i++)
> {
> writef("Press key #%d:\t\n", i);
> k = cast(char)getchar();
> }
> }
>
> E.g.:
> Press key #0:
> a
> Press key #1:
> Press key #2:
> b
> Press key #3:
> Press key #4:
> c
> Press key #5:
> Press key #6:
>
> I guess I could use scanf() instead.. or maybe something more D-ish
> perhaps? :)
>
> Someone on the NGs started creating some user-friendly input
functions,
> something like getInput!char(variable), or similar. But I can't find
the
> topic, anyone know the link perhaps? It was fairly recent that
someone
> posted it.