"We are back" « oc.at

press any key... ?

d3cod3 13.05.2003 - 11:50 1805 24
Posts

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
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

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19769
scanf ?
Und vorher fflush(stdin)

rider

We work hard-We play hard
Avatar
Registered: Jan 2003
Location: Austria , Linz
Posts: 1252
getch()

mfg

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
das haut irgendwie net hin :(

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

AoD

aka AngelOfDeath
Avatar
Registered: Nov 2002
Location: St. Pölten
Posts: 1482
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.
Bearbeitet von AoD am 13.05.2003, 12:19

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
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

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19769
fflush(stdin) machen vorher schon probiert?

b_d

© Natural Ignorance (NI)
Avatar
Registered: Jul 2002
Location: 0x3FC
Posts: 10604
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

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
muss i das dann speziell kompilieren? find nix zu dem conio.h

HaBa

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19769
naw, musst nur includen.

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
dann sagt er mir er hat die datei net.. argl -> useless weil i muss das am fh rechner zum rennen bringen...

HaBa

Vereinsmitglied
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19769
Pfad falsch eingestellt?
Ist beinahe eine Standardlib.

d3cod3

Legend
...
Avatar
Registered: Aug 2002
Location: insert location ..
Posts: 15285
na, sollte alles passen. aber es fehlen hier einige sachen :(

Jedi

PROGrAMmER
Avatar
Registered: May 2002
Location: linz
Posts: 1871

#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

Little Overclocker
Avatar
Registered: Apr 2003
Location: Lucern (CH)
Posts: 63
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;
}
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz