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);
}
}
selhání instalace monitu na linux ec2
Pomocí příkazu `date` získáte předchozí, aktuální a následující měsíc