magallanes:~ coti$ ./a.out
Hola,Mundo!
magallanes:~ coti$
magallanes:~ coti$ ./a.out alfa beta gamma 1 2 3
Hola,Mundo!
magallanes:~ coti
argc
y
argv
.
argc
de main(), y una lista de punteros de carácter que apuntan a cada una de esas expresiones en
argv[]
. Esto implica que el programa puede hacer uso de la información aportada. Veamos un ejemplo.#include <stdio.h> int main(int argc, char * argv[]) { int i; printf("El número de argumentos es: %d\n\n", argc); if (! (argc > 1) ) { printf("El único argumento es el nombre del programa: %s\n\n", argv[0]); } else { printf("La relación de argumentos recibidos es:\n\n"); for(i=0;i<argc;i++) { printf("Argumento nº %2d: %s\n", i, argv[i]); } } printf("\n\nTerminación normal del programa\n\n"); return 0; }
magallanes:test coti$ a.out El número de argumentos es: 1 El único argumento es el nombre del programa: a.out Terminación normal del programa magallanes:test coti$ ./a.out alfa beta gamma 1 2 3 El número de argumentos es: 7 La relación de argumentos recibidos es: Argumento nº 0: ./a.out Argumento nº 1: alfa Argumento nº 2: beta Argumento nº 3: gamma Argumento nº 4: 1 Argumento nº 5: 2 Argumento nº 6: 3 Terminación normal del programa magallanes:test coti$
argv[1]
) es la primera que se escriba tras el nombre del programa, y así sucesivamente.