Bueno mi pregunta es, para qué sirven estas cosas:
int main(int argc, char *argv[])
Quien me explica claramente que son , para que sirven y qué ventaja tendría el usar esto?
Para introducir datos por consola.
int main(int argc, char *argv[])
El entero argc guarda el numero de parámetros que introduces por consola al invocar el programa (incluyendo el nombre del programa), el segundo parámetro, es decir, el arreglo, es un arreglo de punteros a cadenas, cada posición del arreglo te guarda un puntero que apunta ( XD ) a cada parámetro introducido.
Saludos, Raly.
Agrc es el numero de parametros, y agrv son los parametros.
Saludos
Es la definicion de la funcion main para procesar los argumentos pasados mediante la linea de comandos:
* argc es el numero de estos
* argv[0] es el nombre de la aplicacion o NULL.
* argv[1] .. argv[argc - 1] cada uno de los argumentos.
* argv[argc] siempre es NULL.
Esa lista se puede procesar de varias formas, dos de ellas una utilizando el parametro argc y otra mediante aritmetica de punteros:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
char **p;
puts("Lista de argumentos (Forma 1):");
for (i = 0; i <= argc; i++)
printf(
"argv[%d] == \"%s\"\n",
i,
argv[i] != NULL ? argv[i] : "NULL"
);
puts("----");
puts("Lista de argumentos (Forma 2):");
for (p = argv; p <= argv + argc; p++)
printf(
"argv[%ld] == \"%s\"\n",
(long int) (p - argv),
*p != NULL ? *p : "NULL"
);
return EXIT_SUCCESS;
}
Un saludo