Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

28.03.2006, 22:30

[gelöst] tastatur einlesen..

ich google schon den ganzen tag auf der suche nach einer funktion die:

- die nächste tasteneingabe speichert
- nach dieser tasteneingabe weitermacht
- NICHTS anzeigt

soll ja angeblich mit getch() gehen aber

Quellcode

1
2
3
4
5
6
	int test;
	while(1)
	{
	test = getch();
	cout << test;
	}


gibt NUR dauern in einer ewigschleife -1 aus..

was mach ich falsch?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »thakoman« (30.03.2006, 00:42)


2

29.03.2006, 01:28

Also entweder habe ich dein Problem nicht verstanden oder es ist wirklich simpel.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main() {
    int c;
    while(1) {
        c = fgetc(stdin);
        printf("%c", c);
    }

    return 0;
}

cout kenne ich gar nicht.
Frequent lock ups are a symptom of not enough memory but only in the way that nosebleeds are a symptom of gunshot wounds to the head.

3

29.03.2006, 07:12

sorry, aber bei der lösung sieht ma wie die eingabe abläft und muss sie auchnoch mit enter bestätigen, beides will ich nicht ?(

4

29.03.2006, 08:12

Quellcode

1
2
3
4
5
6
7
8
9
10
11
#include <conio.h>

int main() {
    int c;
    while(1) {
        c=getch();
        printf("%c", c);
    }

    return 0;
}


Das sollte dir helfen ;)

5

29.03.2006, 17:21

Zitat

Original von thakoman
sorry, aber bei der lösung sieht ma wie die eingabe abläft und muss sie auchnoch mit enter bestätigen, beides will ich nicht ?(


Upps - wie blöd von mir! Da war ich wohl zu übereifrig.

Die <conio.h> habe ich gar nicht.
Frequent lock ups are a symptom of not enough memory but only in the way that nosebleeds are a symptom of gunshot wounds to the head.

6

29.03.2006, 23:51

Zitat

Original von loskornosdelsol
Die <conio.h> habe ich gar nicht.


Mag unter Umstaenden daran liegen, dass conio.h afaik MSDOS-spezifische Funktionen bereitstellt die nicht portabel sind und nicht zum ANSI-Standard gehoeren ;)

7

30.03.2006, 00:42

stimmt,.. soweit hatte ich mich auch schon gegoogelt.. hab jetzt ne erstazfunktion gefunden:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <termios.h>

getch() {
    static int ch = -1, fd = 0;
    struct termios neu, alt;
    fd = fileno(stdin);
    tcgetattr(fd, &alt);
    neu = alt;
    neu.c_lflag &= ~(ICANON|ECHO);
    tcsetattr(fd, TCSANOW, &neu);
    ch = getchar();
    tcsetattr(fd, TCSANOW, &alt);
    return ch;
}


THX @ all