PDA

Ver la versión completa : explikar komo se usan los argumentos



cybin
27-02-2009, 12:06
na ke keria ke alguien me pusiera o explikara de komo koño declaro los arumentos en C por ejemplo para una funcion.
se ke se declaran en el main pero nose komo referirlos a una funcion.
asias:confused::confused::confused:

cybin
27-02-2009, 12:35
me refiero a los argumentos para la linea de comandos, el argc se ke es para declarar la cantidad de argumentos lo ke nose es komo declaro los de:

*argv[] que es el array a cada funcion. por ejemplo : ke ponga -m y me sake el menu.:confused::confused:

j8k6f4v9j
27-02-2009, 13:06
Si en la línea de comandos escribes `miprograma -c comando1 -p`,

tendrás lo siguiente:

argv[0] == "miprograma"
argv[1] == "-c"
argv[2] == "comando1"


argc == 3

Puedes hacer un switch case.



void main(int argc, char **argv) {
if (argc != 3) {
printf( "Uso: %s -c nombrecomando", argv[0] ) ;
exit(1);
}

if (strcmp(argv[1],"-c") == 0)
printf("Hacemos lo propio para %s", argv[2] );
}



Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

cybin
13-03-2009, 10:57
muchas gracias de primeras y ara una pregunta, el nombre de la funcion a la ke kiero llamar la tendria ke meter dentro del if ese?:
if (strcmp(argv[1],"-c") == 0){
printf("Hacemos lo propio para %s", argv[2] );
}

Sepho
25-05-2009, 18:12
Eso es, lo comparas con strcmp y en función del resultado ya haces lo que tengas que hacer.

Saludos!

gondar_f
01-06-2009, 13:44
el array de argumentos lo puedes leer desde cualquier punto del programa, no necesariamente desde dentro de ese if.

Salu2