AnteriorPosterior

9.9. Parámetros de “main”

  Curso: Fundamentos de programación en C, por Nacho Cabanes

9.9. Parámetros de “main”

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 <stdio.h>
 
int main (int argc, char *argv[])
{
  int i;
 
  printf ("Nombre del programa:\"%s\".\n",argv[0]);
  if (argc > 0)
      for (i = 1; i<argc; i++)
           printf("Parámetro %d = %s\n", i, argv[i]);
  else
      printf("No se han indicado parámetros.\n");
  return 0;
}
 

Ejercicios propuestos:

  • Crear un programa llamado “suma”, que calcule (y muestre) la suma de dos números que se le indiquen como parámetro. Por ejemplo, si se teclea “suma 2 3” deberá responder “5”, y si se teclea “suma 2” deberá responder “no hay suficientes datos.
  • Crear una calculadora básica, llamada “calcula”, que deberá sumar, restar, multiplicar o dividir los dos números que se le indiquen como parámetros. Ejemplos de su uso sería “calcula 2 + 3” o “calcula 5 * 60”.

Actualizado el: 27-07-2014 14:20

AnteriorPosterior