![]() | ![]() |
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] ); }
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
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); }
Este programa espera dos argumentos. Ambos deben ser nъmeros del 0 al 9. El programa los coge y los suma.
Ejercicio :
Soluciуn:
© Gorka Urrutia