GNU/Linux >> Znalost Linux >  >> Linux

Rozhraní příkazového řádku C++

Knihovna GNU readline je skvělá, pokud chcete úplné funkce pro úpravy řádků a historie, ale pokud vám stačí jednoduchá výzva (nebo pokud nechcete licenci GNU), můžete to udělat pouze se standardní knihovnou:

#include <iostream>
#include <string>

void process(std::string const & line);

int main()
{
    for (std::string line; std::cout << "APP > " && std::getline(std::cin, line); )
    {
        if (!line.empty()) { process(line); }
    }

    std::cout << "Goodbye.\n";
}

K tomu doporučuji knihovnu GNU readline. Postará se o zdlouhavou práci se získáváním řádků vstupu a umožňuje uživateli upravovat svůj řádek pomocí backspace, šipek doleva a doprava atd., a vyvolat starší příkaz pomocí šipky nahoru a dokonce vyhledat starší příkaz pomocí ^R, atd. Readline se instaluje s typickými unixovými distribucemi, jako je linux, ale pokud ji nemáte, najdete ji zde.

Edit:Zde je minimální příklad readline:

#include <stdio.h>
#include <readline/readline.h>
#include <readline/history.h>

int main(int argc, char ** argv)
{
    while(1)
    {
        char * line = readline("> ");
        if(!line) break;
        if(*line) add_history(line);
        /* Do something with the line here */
        free(line);
    }
}

Linux
  1. Stáhněte si Cheat Sheet rozhraní příkazového řádku OpenStack! – Nejčastěji používané příkazy

  2. Obecná specifikace pro rozhraní příkazového řádku?

  3. Výsledkem instalace dalších ovladačů v rozhraní příkazového řádku?

  1. Konverze časového pásma pomocí příkazového řádku

  2. Bash, pokud na jednom řádku

  3. Problémy s příkazovým řádkem Netcat

  1. Jak vyvolat wi-fi rozhraní z příkazového řádku?

  2. Řešič výrazů z příkazového řádku?

  3. Clonezilla z příkazového řádku