Zeichen einlesen ohne ENTER



  • hallo!

    ich möchte eine bestimmte anzahl von zeichen von der Tastatur einlesen, aber ohne die eingabe mit ENTER abschließen zu müssen.

    also quasi sowas auf die art:

    char s[50];
    cout << "Eingabe:";
    cin.getline(s,11, 'x');
    cout << endl << "gelesen [" << s << "]" << endl;
    

    im C++ Standard muss man aber anscheinend jede tastatureingabe mit ENTER abschließen...
    ich möchte ne Funktion, mit der ich mindestens einen char (besser wäre ein ganzer string) einlesen kann, bis zu einem bestimmten zeichen bzw bis die angegeben länge erreicht wurde...

    was nehme ich da am besten?

    [edit]falls das besser nach "Konsole" passt, kann mich da auch wer hinverschieben, aber imho komm ich um die WinAPI nicht herum [/edit]

    [ Dieser Beitrag wurde am 11.11.2002 um 15:08 Uhr von flosko editiert. ]



  • Also mit WinAPI hat wirklcih wenig zu tun -->

    ein Möglichkeit wär z.B. getchar



  • Original erstellt von CMatt:
    **Also mit WinAPI hat wirklcih wenig zu tun -->

    ein Möglichkeit wär z.B. getchar**

    eingaben mit getchar muss man auch mit enter bestätigen...
    eausserdem sollte man getchar() in Win32-Konsole nicht mehr benutzen (lt. BCB-Builder 5 Hilfe (hat irgendwas mit den Pufferzugriff zu tun)).
    ne möglichkeit wäre kbhit(), aber damit reiß ich auch nix unter WinNT, ausserdem ist das seit Win ebenfalls obsolete...
    was also nehmen?

    ich möchte z.B. ein einfaches menü bauen, auf die Art

    Wahl:
    W...Weiter
    Q...Quit
    

    und dann einfach 'W' oder 'Q' drücken, ohne danach mit enter bestätigen zu müssn...
    eignetlich ganz simpel ?! 😕



  • getch?



  • Im Standard ist es ohne Enter nicht möglich. Aber ohne Standard hilft die gute alte (eh neue?) Konsolen-FAQ wo du nur unter getch() suchen musst :).

    Thread closed.

    MfG SideWinder


Anmelden zum Antworten