Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

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"

No hay comentarios:

Publicar un comentario