Einlesen von Zeichen



  • Hi Community.

    Wenn ich von der Tastatur einzelne Zeichen einlesen will mit der Funktion getch(), muss ich immer 2 mal drücken.
    Gibts da einen Trick, wie man das aushebeln kann?

    Danke im Vorraus


  • Mod

    Ich rate mal, dass du das getch von conio meinst und nicht das von curses.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ja genau hab das getch() aus dem header conio.h.
    Von dem anderen getch() wusste ich bisher noch nichts.
    Funktioniert das besser?


  • Mod

    getch() schrieb:

    Ja genau hab das getch() aus dem header conio.h.
    Von dem anderen getch() wusste ich bisher noch nichts.
    Funktioniert das besser?

    Tipp doch einfach mal sowohl conio.h als auch curses bei Google ein. Dann siehst du, dass die Frage nicht wirklich Sinn macht.

    Google: conio.h
    Google: curses (Ok, der erste Treffer ist hier etwas irreführend, weil das im Englischen auch noch was anderes ist)



  • also das was ich so verstanden habe, ist conio.h für Konsolen, und curses für zeichenorioentierte Benutzerschnittstellen.
    Also in meinem Fall benötige ich conio.h.
    Aber das Problem besteht trotzdem noch.


  • Mod

    conio gibt's vor allem nur für DOS-Konsole, curses nur für linuxartige Konsolen!

    Zu deinem konkreten Problem bier kann ich dir leider nicht helfen, denn
    1. Kenn ich conio nicht
    2. Verstehe ich deine Frage nicht (und das wird anderen genauso gehen). Lies dir bitte mal den ersten Link in meiner Signatur durch. Es ist völlig unklar, was du programmiert hast, was du tust, welche Reaktion du erwartest und was stattdessen passiert.



  • Ich glaub ich weiss was der Threadsteller sagen möchte:

    #include <iostream>
    #include <conio>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    
    char a;
    cin.get(a); // Ich gebe einen Wert ein und drücke Enter 
                // (Ich musste 2 mal etwas tun damit ich den Wert ausgegeben bekomme
               // 1. Buchstaben eingeben, 2. Enter drücken
               // (2 Aktionen)
    cout<<a<<endl;
    
    a=getch();  // Ich geben den Wert ein den ich ausgeben will.
                // Und ohne danach noch etwas zu machen gibt
                // cout mir den Wert aus
                // (1 Aktion )
    cout<<a<<endl;
    
    return 0;
    }
    

    So verstehe ich seine Frage.
    Bei mir funktioniert es mit dem getch(); [Falls ich deine Frage richtig verstanden habe.]


Anmelden zum Antworten