Lectura de argumentos de línea de comandos

C++:
Lectura de argumentos de línea de comandos

Cómo:

Aquí tienes cómo capturar argumentos de la línea de comandos en C++:

#include <iostream>
int main(int argc, char *argv[]) {
    std::cout << "Has introducido " << argc << " argumentos:" << std::endl;
    
    for (int i = 0; i < argc; ++i) {
        std::cout << i << ": " << argv[i] << std::endl;
    }

    return 0;
}

Si compilas y ejecutas este programa así ./mi_programa hola mundo, verás:

Has introducido 3 argumentos:
0: ./mi_programa
1: hola
2: mundo

Análisis Profundo:

La convención de pasar argumentos data de los primeros días de las interfaces de línea de comandos. En UNIX y sistemas similares, argc representa la cantidad de argumentos y argv es un array de cadenas (char*) que contiene los propios argumentos.

Alternativas a la manipulación manual de argv incluyen librerías como getopt, para opciones más complejas, o bibliotecas de análisis de argumentos de modernas como Boost.Program_options y TCLAP. Detrás de escena, el sistema operativo pasa los argumentos a main cuando se lanza el programa.

Implementaciones variadas pueden cambiar ligeramente entre plataformas y compiladores. Por ejemplo, en Windows, también puedes usar GetCommandLine() de la API de Windows para acceder a la línea de comandos completa como una sola cadena.

Ver También: