character aus stdin lesen ohne zu blocken
-
Hi,
es gab doch einen Befehl, mit dem man einen einzigen character aus dem stdin lesen konnte, ohne das das programm auf eine eingabe wartet. Wie war denn der noch gleich ?
Danke !
-
Nicht in ANSI C. Du denkst wohl an kbhit(). Für Linux und Windows gibt's was in den FAQs.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39509.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39320.html
-
Danke
Ja ich meinte dei getch() funktion aber da ich unter unix progge gibts die eh nicht. Danke für die Links.
-
Leider funktioniert das aus der FAQ bei mir nicht, die dort abgebildete funktion getch wartet bei mir trotzdem auf return.
(ich programmiere unter MAC OS X also eine art freebsd)
-
ich verschieb dich ins unix forum. uU sind die ncurses was fuer dich. aber die profis dort wissen schon was
-
Dieser Thread wurde von Moderator/in Shade Of Mine aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
geht sowas
char mychar(void) { int fd; int flags; char c; fd = dup(fileno(stdin)); errno = 0; flags = fcntl(fd, F_GETFL); if(flags == -1){ perror("\nerror fcntl()"); exit(EXIT_FAILURE); } flags |= O_NONBLOCK; errno = 0; flags = fcntl(fd, F_SETFL, flags); if(flags == -1){ perror("\nerror fcntl()"); exit(EXIT_FAILURE); } read(fd, &c, 1); close(fd); return(c); }