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"