PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : while ( !tastendruck )



ComSubVie
03-10-2002, 22:19
Ich glaub ich steh grad mal wieder auf der Leitung....

brauche in C eine Schleife die solange ausgeführt wird, bis eine taste gerdückt wird...

(also wie REPEAT UNTIL keypressed in Pascal)

steh entweder grad auf der Leitung oder hab schon zuviel Bier getrunken ;)

anda_skoa
03-10-2002, 22:58
Original geschrieben von ComSubVie
Ich glaub ich steh grad mal wieder auf der Leitung....

brauche in C eine Schleife die solange ausgeführt wird, bis eine taste gerdückt wird...


Mein Kenntnisstand sagt dazu, dass man da ncurses braucht, weil die Eingabe unter Unix gepuffert ist.
Allerdings sagt der OP in diesem Thread hier etwas anderes
http://www.mrunix.de/forums/showthread.php?s=&threadid=18971



steh entweder grad auf der Leitung oder hab schon zuviel Bier getrunken ;)

Oder zu wenige und die Erleuchtung hat sich noch ned eingestellt :D

Ciao,
_

ComSubVie
03-10-2002, 23:40
hm, irgendwie schlecht. das rennt dann ja nimma systemunabhängig :( (ncurses hat dazu has_key wenn ich de manpage richtig interpretiert habe. morgen nüchtern nochmal lesen)

getchar() tut meiner meinung nach auf ein zeichen warten - werd ich trotzdem probieren...

ComSubVie
04-10-2002, 09:13
while ( !_kbhit() )
müsste es eigentlich tun (ohne alk denkt sichs viel leichter :D)

anda_skoa
04-10-2002, 14:23
Interessant.
Was muß man dafür inkludieren, bzw. wo ist es dokumentiert?

Ciao,
_

ComSubVie
04-10-2002, 14:28
naja, es gibt da noch ein kleines problem... das braucht die conio.h - und die gibts nur unter DOS/win32....

es gibt dann noch die funktion select (man 3 select) die müsste auch das gewollte können, aber ich blick da nicht ganz durch....

systemübergreifendes hab ich also bisher noch nix gefunden :(

anda_skoa
04-10-2002, 14:32
Du bist mir einer :)
Benutzt die conio und regt sich bei ncurses auf.

Ich glaube curses gibt es für mehr Plattformen als conio ;)

Ich kann mich dunkel erinnern, dass man die Pufferung der Standard In irgendwie abschalten kann.
Dann würde auch getchar gehen.

Ciao,
_

ComSubVie
04-10-2002, 14:50
ich benutze weder noch, ich hab das auch erst zu spät gemerkt das kbhit nur in der conio vorhanden ist.... irgendwie is das ganze noch ein wenig pfusch :(

sauertopf
25-05-2003, 15:50
Original geschrieben von anda_skoa

Ich kann mich dunkel erinnern, dass man die Pufferung der Standard In irgendwie abschalten kann.
Dann würde auch getchar gehen.


licht ins dunkel: http://www.erlenstar.demon.co.uk/unix/faq_4.html#SEC49

cyneox
04-06-2003, 14:43
warum denkt ihr immer so kompliziert ???warum nehmt ihr nicht einfach die funktion getchar() ????

hm.....warum????

anda_skoa
04-06-2003, 15:48
Original geschrieben von cyneox
warum denkt ihr immer so kompliziert ???warum nehmt ihr nicht einfach die funktion getchar() ????


Standard Input ist gepuffert, da wird auch getChar erst beendet, wenn Ente gdrückt wurde.
getChar nimmt dann nur das erste Zeichen aus dem Inputpuffer.

Ciao,
_

micha
04-06-2003, 17:02
Hi,

schau Dir mal getkey.c aus den splashutils an: ftp://ftp.suse.com/pub/people/stepan/bootsplash/rpm-sources/bootsplash/splashutils.tar.bz2

Gruß micha