Curso de CEl Rincón del C - www.elrincondelc.com

Funciones (Avanzado)

[Anterior] [Siguiente] [Contenido]

Contenido del Capítulo:


Introducción


Pasar argumentos a un programa

Ya sabemos cómo pasar argumentos a una función. La función main también acepta argumentos. Sin embargo sólo se le pueden pasar dos argumentos. Veamos cuáles son y cómo se declaran:

   int main( int argc, char *argv[] )

El primer argumento es argc (argument count). Es de tipo int e indica el número de argumentos que se le han pasado al programa.

El segundo es argv (argument values). Es un array de strings (o puntero a puntero a char). En el se almacenan los parámetros. Normalmente (como siempre depende del compilador) el primer elemento (argv[0]) es el nombre del programa con su ruta. El segundo (argv[1]) es el primer parámetro, el tercero (argv[2]) el segundo parámetro y así hasta el final.

A los argumentos de main se les suele llamar siempre así, no es necesario pero es costumbre.

Veamos un ejemplo para mostrar todos los parámetros de un programa:

#include<stdio.h>

int main(int argc,char *argv[])
     {
     int i;
     for( i=0 ; i<argc ; i++ )
          printf( "Argumento %i: %s\n", i, argv[i] );
     }
Comprobado con DJGPP

Si por ejemplo llamamos al programa argumentos.c y lo compilamos (argumentos.exe) podríamos teclear (lo que está en negrita es lo que tecleamos):

    c:\programas> argumentos hola amigos

Tendríamos como salida:

    Argumento 0: c:\programas\argumentos.exe
    Argumento 1: hola
    Argumento 2: amigos

Pero si en vez de eso tecleamos:

    c:\programas> argumentos "hola amigos"

Lo que tendremos será:

    Argumento 0: c:\programas\argumentos.exe
    Argumento 1: hola amigos

[Arriba]


Ejemplos enviados

Enviado por Angel:

#include <stdio.h>

int main(int argc,char *argv[])
        {
        int par1, par2;
        par1= *argv[1] - '0';
        par2= *argv[2] - '0';
        printf("%d + %d = %d\n",par1,par2,par1+par2);
        }
Comprobado con DJGPP

Este programa espera dos argumentos. Ambos deben ser números del 0 al 9. El programa los coge y los suma.

[Arriba]


Seguridad

[Arriba]


Ejercicios

Ejercicio :

Solución:

[Anterior] [Siguiente] [Contenido]

© Gorka Urrutia

www.elrincondelc.com