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.