press any key... ?

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/press_any_key_78440/page_1 - zur Vollversion wechseln!


d3cod3 schrieb am 13.05.2003 um 11:50

wie sag ich meinem programm (c) dass er warten soll bis der user eine taste drückt bevor es weitergeht?

entweder bricht bei mir immer das ganze ab oder ich kreig segmentation faults :confused:

tia


HaBa schrieb am 13.05.2003 um 11:51

scanf ?
Und vorher fflush(stdin)


rider schrieb am 13.05.2003 um 11:54

getch()

mfg


d3cod3 schrieb am 13.05.2003 um 12:06

das haut irgendwie net hin :(

getch mag er gar net und bei scanf hauts ihn auch auf


AoD schrieb am 13.05.2003 um 12:17

könntest dein "getch mag er gar net" ein bisserl genauer erklären.

edit
vielleich hilft dir das weiter:

Zitat
getchar, defined in stdio.h reads one character from kbd.
getch is defined in curses.h also reads one character from kbd ;),
but one doesn't have to press return.


d3cod3 schrieb am 13.05.2003 um 12:26

ncurses hab ich eh genommen.

er kompiliert auch ohne muckser aber wenn er an die stelle kommt liest er einfach drüber wie wenn nix da wäre


HaBa schrieb am 13.05.2003 um 12:29

fflush(stdin) machen vorher schon probiert?


b_d schrieb am 13.05.2003 um 12:29

wenn du getch verwenden willst, und der es net mag, musst du eine zeile dazuschreiben. und zwar:

#include <vcl\condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h> <-----DIESE
#pragma hdrstop

dann funktioniert getch ();

MFG

-ICH-


d3cod3 schrieb am 13.05.2003 um 12:55

muss i das dann speziell kompilieren? find nix zu dem conio.h


HaBa schrieb am 13.05.2003 um 12:57

naw, musst nur includen.


d3cod3 schrieb am 13.05.2003 um 12:58

dann sagt er mir er hat die datei net.. argl -> useless weil i muss das am fh rechner zum rennen bringen...


HaBa schrieb am 13.05.2003 um 13:00

Pfad falsch eingestellt?
Ist beinahe eine Standardlib.


d3cod3 schrieb am 13.05.2003 um 13:01

na, sollte alles passen. aber es fehlen hier einige sachen :(


Jedi schrieb am 13.05.2003 um 13:04


#include <bios.h>
...
while (bioskey(0)==1);
while (bioskey(1)==0);
...


oder anders herum. ich weiß es nimma genau, weil i schon seit jahren nimmer mit c herumgespielt hab. :)


Steff schrieb am 13.05.2003 um 14:02

Die Funktion getch holt das nächste Zeichen aus dem Stream stdin und realisiert eine ungepufferte Eingabe ohne Echo. Da die Funktion getch nicht zum ANSI-Standard gehört, ist sie eventuell nicht auf jedem System verfügbar. Darüber hinaus können unterschiedliche Header-Dateien einzubinden sein. Im Allgemeinen lautet der Prototyp für getch in der Header-Datei conio.h wie folgt:

int getch(void);

Aufgrund der ungepufferten Arbeitsweise gibt getch jedes Zeichen zurück, sobald der Benutzer eine Taste drückt. Die Funktion wartet also nicht auf das Betätigen der (Enter)-Taste. Da getch kein Echo der Eingabe liefert, erscheinen die eingegebenen Zeichen nicht auf dem Bildschirm. Listing 14.4 zeigt ein Beispiel für den Einsatz von getch.



#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf("Hallo Welt!");
fflush(stdin);
getch();
return EXIT_SUCCESS;
}




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025