Verwendung der getch()-Funktion in C/C++
In diesem Artikel werden wir uns die Verwendung der getch()-Funktion in C/C++ ansehen.
Die getch()-Funktion ist sehr nützlich, wenn Sie eine Zeicheneingabe von der Tastatur lesen möchten.
Obwohl dies kein Teil des C-Standards ist, ist dies dennoch eine POSIX-C-Funktion. Daher können wir diese Funktion unter Windows / Linux / Mac verwenden.
Lassen Sie uns diese Funktion anhand einiger Beispiele betrachten.
Grundlegende Syntax von getch() in C/C++
Diese Funktion nimmt ein einzelnes Zeichen von der Standardeingabe (stdin) entgegen und gibt einen Integer zurück.
Diese ist Teil der -Headerdatei, also müssen Sie sie in Ihrem Programm einbeziehen.
#include <conio.h>
int getch();
Diese Funktion nimmt keine Parameter an.
Hier gibt getch() den ASCII-Wert des von stdin gelesenen Zeichens zurück.
Zum Beispiel, wenn wir das Zeichen ‘0’ als Eingabe geben, wird es den ASCII-Wert von ‘0’ zurückgeben, der 49 ist.
Jetzt können wir in C / C++ direkt ein Zeichen in einen Integer umwandeln. Also wird beim Typecasting der ASCII-Wert 49 in den Char-Wert von ‘0’ umgewandelt!
Lassen Sie uns nun einige Beispiele betrachten.
Verwendung von getch() in C/C++ – Einige Beispiele
Als einfaches Beispiel sehen wir uns zuerst das Lesen eines einzelnen Zeichens an.
#include <stdio.h>
#include <conio.h>
int main() {
char ch = getch();
printf("Eingabe empfangen: %c\n", ch);
return 0;
}
Beispiel Output
Eingabe empfangen: a
Ich habe diesen Output erhalten, nachdem ich ‘a’ auf meiner Tastatur getippt habe. Lassen Sie uns nun ein Programm betrachten, das auf 5 Zeichen von der Tastatur wartet.
Beachten Sie, dass getch() die Eingabe von der Tastatur NICHT anzeigen wird. Wenn Sie also die Eingabe eingeben, wird der Cursor die Eingabe nicht anzeigen.
Lassen Sie uns die komplette Zeichenkette erst anzeigen, nachdem wir alle 5 Zeichen erhalten haben
#include <stdio.h>
#include <conio.h>
int main() {
// Setze op = {0, 0, 0, 0, 0, 0} = '\0\0\0\0\0\0' String
char op[6] = {0};
for (int i=0; i<5; i++) {
op[i] = getch();
}
printf("5 Zeichen Eingabe empfangen: %s\n", op);
return 0;
}
Output
5 Zeichen Eingabe empfangen: Hallo
Tatsächlich, als ich „Hallo“ eingegeben habe, habe ich den Output korrekt bekommen.
Beachten Sie, dass ich 6 Zeichen in meinem Output String habe, da wir 1 Byte für ‚\0‘ reservieren müssen. Daher ist op „Hallo\0“.
Fazit
In diesem Artikel haben wir über die Verwendung der getch()-Funktion in C / C++ gelernt, um Zeicheneingaben von der Tastatur zu erhalten – getch() Funktion in der C/C++-Programmierung: Wie anwenden?