digitalmars.D.learn - Using getchar
- Andrej Mitrovic (25/25) Sep 06 2010 I have some D1 code that I'm transfering to D2, and it's using getchar. ...
- Stanislav Blinov (3/5) Sep 06 2010 It was Jesse Phillips:
- Andrej Mitrovic (2/9) Sep 06 2010
- Jesse Phillips (15/52) Sep 09 2010 Hello,
- Andrej Mitrovic (3/22) Sep 09 2010 Something like that, but not using readln() since it returns an array of...
- Jesse Phillips (4/31) Sep 10 2010 I hadn't posted the code yet because it wasn't really general enough. Bu...
- Rory McGuire (12/49) Sep 10 2010 Its not skipping its looping on "a\r\n" if you're on windows.
- Andrej Mitrovic (3/6) Sep 10 2010 Yeah, there's a different way of waiting for an actual key press. I've d...
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++) { k = cast(char)getchar(); } } E.g.: a b c 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.
Sep 06 2010
Andrej Mitrovic wrote: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.It was Jesse Phillips: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=115546
Sep 06 2010
Thanks. Stanislav Blinov Wrote:Andrej Mitrovic wrote: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.It was Jesse Phillips: http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=115546
Sep 06 2010
On Mon, 06 Sep 2010 17:42:05 -0400, 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++) { k = cast(char)getchar(); } } E.g.: a b c 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.Hello, I didn't get much feedback on what was thought about it. I think I'll try the Phobos mailing list... without my library the code would look something like (sorry cant test right now) import std.stdio; void main() { char k; for(int i = 0; i < 10; i++) { k = std.conv.to!char(readln()); } }
Sep 09 2010
Jesse Phillips Wrote:Hello, I didn't get much feedback on what was thought about it. I think I'll try the Phobos mailing list...Okay, give it a try. :)without my library the code would look something like (sorry cant test right now) import std.stdio; void main() { char k; for(int i = 0; i < 10; i++) { k = std.conv.to!char(readln()); } }Something like that, but not using readln() since it returns an array of chars and we need a single char.
Sep 09 2010
On Thu, 09 Sep 2010 21:44:43 -0400, Andrej Mitrovic wrote:Jesse Phillips Wrote:I hadn't posted the code yet because it wasn't really general enough. But the example I gave, because readln() should return "a\n" and to!char (...), should convert that into a char just as you want.Hello, I didn't get much feedback on what was thought about it. I think I'll try the Phobos mailing list...Okay, give it a try. :)without my library the code would look something like (sorry cant test right now) import std.stdio; void main() { char k; for(int i = 0; i < 10; i++) { k = std.conv.to!char(readln()); } }Something like that, but not using readln() since it returns an array of chars and we need a single char.
Sep 10 2010
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 usinggetchar. Ithink I need to flush the buffer or something because the loop tendstoskip: import std.c.stdio; import std.stdio; void main() { char k; for(int i = 0; i < 10; i++) { k = cast(char)getchar(); } } E.g.: a b c I guess I could use scanf() instead.. or maybe something more D-ish perhaps? :) Someone on the NGs started creating some user-friendly inputfunctions,something like getInput!char(variable), or similar. But I can't findthetopic, anyone know the link perhaps? It was fairly recent thatsomeoneposted it.
Sep 10 2010
Yeah, there's a different way of waiting for an actual key press. I've done it in Python once. But this code was from a dsource tutorial, I didn't write it. :) I'll find a way to do it properly. Rory McGuire Wrote: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.
Sep 10 2010