2011-09-24 18 views
7

Quindi ho scritto un piccolo programma che accetta i comandi da parte degli utenti, quindi visualizza l'output (dopo essersi connesso a un server). È una sorta di console interattiva.Programmazione della console interattiva per c/C++?

Tuttavia, dopo aver utilizzato i client della riga di comando mongodb e redis (che funzionano in modo interattivo sulla console/terminale), sembra che ci sia una libreria da qualche parte che fornisce funzionalità come la registrazione degli input dell'utente, accettando pressioni dei tasti su/giù per sfogliare la cronologia dei comandi, così come il quadro di completamento tab (non sono sicuro di come funzionerebbe, ma sì).

Qual è una libreria ideale da utilizzare per una cosa del genere?

risposta

10

La libreria readline è una scelta comune: http://www.gnu.org/s/readline

Se siete più ambiziosi, ncurses consente un maggiore controllo, ma ha meno funzionalità per cominciare e una curva di apprendimento più ripida.

Modifica: icktoofay ha menzionato che readline è concesso in licenza sotto licenza GPL. Se questo è un problema per il tuo software, tecla è un'alternativa concessa in licenza con una licenza in stile X11, quindi può essere utilizzata in progetti proprietari.

+2

Vale la pena notare che readline ha una licenza GPL. – icktoofay

+6

@icktoofay: Tuttavia, è possibile utilizzare editline, che è concesso in licenza BSD e ha la stessa funzionalità della readline. –

Problemi correlati