Cuando declaramos correctamente la función main, lo hacemos de la siguiente forma:
int main(int argc, char **argv)
Podemos observar que la función main recibe dos parámetros (argc, argv). Donde:
-argv: Es un array de cstrings, que contiene los parámetros pasados por la linea de comandos. En la primera posición del array, podemos encontrar la orden con la cual fue ejecutado nuestro programa.
A partir de la segunda posición están los argumentos que hemos recibido.
-argc: Es un número entero, que nos indica la cantidad de parámetros recibidos (el tamaño del array argv).
Observemos el siguiente código:
#include<iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "cantidad de argumentos: " << argc-1 << endl;
cout << "orden de ejecución: " << argv[0] << endl;
for(int i = 1; i < argc; i++)
{
cout << "Posición nro " << i
<< ": " << argv[i] << endl;
}
return 0;
}
El siguiente ejemplo esta probado en GNU/Linux.
Si ejecutáramos el código anterior desde una terminal, de la siguiente forma:
./argumentos argumento1 argumento2
Obtemdremos la siguiente salida:
cantidad de argumentos: 2
orden de ejecución: ./argumentos
Posición nro 1: argumento1
Posición nro 2: argumento2
Miremos entonces, que después de ejecutar el programa, podemos enviar la cantidad de parámetros que deseemos, siempre y cuando separemos cada uno de estos con un espacio.
No hay comentarios:
Publicar un comentario