Tutorials  /  Linux Basics

Verwendung der Funktion getch() in C/C++

Ccentron Redaktion · Januar 2024 ·3 Min. Lesezeit ·Linux Basics, Tutorial

In diesem Artikel werden wir uns die Verwendung der getch()-Funktion in C/C++ ansehen.

VM

Zum Ausprobieren: Cloud-Server ab 3,12 €/Monat

ccloud³ VMs aus deutschen Rechenzentren – in Sekunden gestartet, stundengenau abgerechnet, mit 200 € Startguthaben für neue Konten. Server starten →

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.

Code
#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.

Code
#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

Code
#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?

Wenn Sie mehr über effiziente Programmierung und professionelle IT-Lösungen erfahren möchten, registrieren Sie sich jetzt im ccenter oder kontaktieren Sie unser Sales-Team für eine individuelle Beratung.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren