Es muy frecuente que un programa que usamos desde la “línea de comandos” tenga ciertas opciones que le indicamos como argumentos. Por ejemplo, bajo Linux o cualquier otro sistema operativo de la familia Unix, podemos ver la lista detallada de ficheros que terminan en .c haciendo
ls –l *.c
En este caso, la orden sería “ls”, y las dos opciones (argumentos o parámetros) que le indicamos son “-l” y “*.c”.
Pues bien, estas opciones que se le pasan al programa se pueden leer desde C. La forma de hacerlo es con dos parámetros. El primero (que por convenio se suele llamar “argc”) será un número entero que indica cuantos argumentos se han tecleado. El segundo (que se suele llamar “argv”) es una tabla de cadenas de texto, que contiene cada uno de esos argumentos.
Por ejemplo, si bajo Windows o MsDos tecleamos la orden “DIR *.EXE P”, tendríamos que:
* argc es la cantidad de parámetros, incluyendo el nombre del propio programa (3, en este ejemplo).
* argv[0] es el nombre del programa (DIR, en este caso).
* argv[1] es el primer argumento (*.EXE).
* argv[2] es el segundo argumento (/P).
Un fuente en C de ejemplo, que mostrara todos los parámetros que se han tecleado sería:
/*---------------------------*/
/* Ejemplo en C nº 80: */
/* C080.C */
/* */
/* Argumentos de "main" */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include
int main (int argc, char *argv[])
{
int i;
printf ("Nombre del programa:\"%s\".\n",argv[0]);
if (argc > 0)
for (i = 1; i
Ejercicios propuestos: