nonblocking console input



  • Ich brauche eine Betriebsystem unabhängige Lösung für nicht blockierenden input.
    Momentan verwende ich kbhit aus conio und eine selbstgebastelte linux variante.
    Beispiel:

    #include "kbhit.h"
    
    int main () 
    {
        std::string cmd;
        for (;;) {
            if (kbhit()) {
                std::getline(std::cin, cmd);
                auto result = processCommand(cmd);
                if (result == CommandResult::GRACEFUL_ABORT) {
                    break;
                }
            }
            std::this_thread::sleep_for(std::chrono::milliseconds(100));
        }
        return 0;
    }
    

    Das gefällt mir aber nicht und wirkt dirty.
    (hat boost was nettes?)



  • Dein Stichwort: curses bzw. ncurses 😉



  • Also doch ncurses 🙂
    Wurde mir beim Start des Projekt schon empfohlen, mal sehen ob ich es verwenden werde (mit dem Gedanken im Hinterkopf, dass noch ein webinterface folgen wird).


Anmelden zum Antworten