GNU/Linux >> Tutoriales Linux >  >> Linux

Interfaz de línea de comandos de C++

La biblioteca de línea de lectura GNU es excelente si desea funciones completas de edición de línea e historial, pero si basta con un simple aviso (o si no desea la licencia GNU), puede hacerlo solo con la biblioteca estándar:

#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";
}

Recomiendo la biblioteca GNU readline para esto. Se ocupa del tedioso trabajo de obtener líneas de entrada y permite al usuario editar su línea con retroceso, flechas izquierda y derecha, etc., y recuperar comandos anteriores usando la flecha hacia arriba e incluso buscar comandos antiguos usando ^R, etc. Readline viene instalado con distribuciones típicas de Unix como Linux, pero si no lo tiene, puede encontrarlo aquí.

Editar:aquí hay un ejemplo mínimo de línea de lectura:

#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. 8 consejos para la línea de comandos de Linux

  2. ¿Cómo actualizar registros A desde la interfaz de línea de comandos en Linux?

  3. ¿Especificación general para la interfaz de línea de comandos?

  4. ¿La instalación de controladores adicionales resultó en una interfaz de línea de comandos?

  5. vim:comando no encontrado

Comando Dif en Linux

Presentamos la interfaz de línea de comandos de Wireshark:TShark

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

comando ip en Linux con ejemplos

¿Reproductores de audio de línea de comandos?