Recibir parámetros al ejecutar el .EXE en C


Cuando uno hace un programa en C a veces requiere que el usuario le pase datos o parámetros cuando se carga el archivo ejecutable. El ejemplo de abajo, facilitado por Pablo Gil, permite desarrollar programas que reciban esos parámetros además de la ruta completa donde se encuentra el archivo ejecutable.

#include <stdio.h>

void main(int argc,char **argv)
    {
    printf("%s",*argv);
    printf("%s",*(argv+1));
    }

En este mini programa el primer printf muestra en pantalla la unidad de disco, ruta de directorios y nombre completo del archivo ejecutable.

El segundo printf muestra, también por pantalla, el primer argumento recibido.

En tanto, la variable entera argc se carga con la cantidad de argumentos recibidos, incluido el path, por lo que al menos siempre será uno o mas. 

La forma de procesar mas de un argumento es mas que simple, hay que hacer un ciclo (un for, por ejemplo) que itere tantas veces como el valor de la variable argc y agregarle el contenido de ese for al puntero de argv. Quedaría:

#include <stdio.h>

void main(int argc,char **argv)
    {
    int x;
    printf("%s",*argv);
    for(x=1;x<=argc;x++)
        printf("%s",*(argv+x));
    }

Para probar el funcionamiento desde el compilador (Borland C) tenés que descolgar el menú Run y seleccionar la opción Arguments. Dentro de allí colocas los parámetros a pasar.