Analisis de argumentos

Cuando creamos un programa:

#include <stdio.h>

int main(int argc, char **argv)

{

printf("hello world\n");

return 0;

}

La linea de la funcion main, vamos a explicar lo que significa.

int argc: es la cantidad de palabras que ha escrito el usuario en la linea de comandos (nota incluyendo el mismo comando)

char **argv: es una tabla de 2 dimensiones en la que cada elemento contiene una de esas palabras (como tipo char) de las escrita por el usuario:

Por ejemplo si el usuario escribe en la linea de comandos:

$ man 3 printf

argc valdria 3 (1: "man", 2: "3", 3: "printf")

printf("%c",argv[2][4]); // escribiria el caracter "t"

printf("%s",argv[0]); // escribiria la frase "man"

El nombre del comando siempre esta en la posicion 0 de la tabla. Ejemplo:

cat /home/alumno/texto.txt

argv[0] valdria "cat"

argv[1] valdria "/home/alumno/texto.txt"