Argumentos en la línea de órdenes

A veces, cuando invocamos a un programa desde el sistema operativo, necesitamos escribir uno o más argumentos a continuación del nombre del programa, separados por un espacio en blanco. Por ejemplo tenemos la orden ls -l del sistema operativo Linux/Unix o su equivalente de Windows dir /p de la consolo de Windows. Tanto ls como dirson programas; -l y /p son opciones o argumentos en la línea de órdenes que le pasamos al programa para que tenga un comportamiento diferente al que tiene de forma predeterminada, es decir, cuando llamamos al programa sin argumentos.

De la misma forma, podemos construir programas que admitan argumentos a través de la línea de órdenes. La función que recibirá estos argumentos, logicamente será la función main, ya que es por esta función por donde empieza a ejecutarse un programa en C++. Esto quiere decir que la función main tiene que tener parámetros formales donde se almacenen los argumentos pasados, igual que ocurre con cualquier función. Según lo dicho, el prototipo de la función main generalmente se escribe de la siguiente manera:

El argumento argC es un entero que indica el número de argumentos pasados a través de la línea de órdenes, incluido el nombre del programa. El argumento argV es una matriz de punteros a cadenas de caracteres. Cada elementode esta matriz apunta a un argumento, de manera que argV[0] contiene el nombre del programa, argV[1] el primer argumento de la línea de ordenes, argV[2] el segundo argumento, etc. La función main devuelve un int con el que podemos expresar el éxito o no de la ejecución de dicha función.

A continuación, se muestra un ejemplo de cómo se utilizan estos argumentos en la línea de comandos en C++:

Supongamos que el programa anterior se compila y se ejecuta con los siguientes argumentos desde la línea de comandos:

En este caso, el programa se ejecutaría con tres argumentos: «argumento1«, «argumento2» y «argumento3«. Estos argumentos pueden ser utilizados dentro del programa para realizar diversas tareas o configuraciones, dependiendo de la lógica que hayas implementado.

La salida sería:

De esta manera, puedes acceder y utilizar los argumentos pasados en la línea de comandos en tu programa C++ según tus necesidades.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.