[ Foro de C ]

Ejecutar comando de consola cmd

18-Jan-2021 19:47
Invitado (Rainbow)
1 Respuestas

Buenas, soy un poco novato en esto de la programación. Estoy con C intentando ejecutar otro programa, un .exe pasando un parámetro, desde un programa mío.
He estado mirando y no estoy seguro si debo utilizar execl: Estoy intentándolo tal que así, pero no lanza el otro programa. ¿Alguien que sepa cómo hacerlo?

   char parametro[10] = "123";
   execl("C:\archivo\prueba.exe", parametro);


21-Jan-2021 11:53
Invitado (IZRA)

El error en tu código es que el último parámetro que le pasas como argumento debe ser NULL.
Hay varias soluciones a este ejercicio, a continuación te planteo dos de ellas:

char*argumentos[3] = {"123", NULL};

execv(".\prueba.exe", argumentos);

o bien

execl(".\prueba.exe","123", NULL);

Digamos que execv se usa cuando tu no sabes la cantidad de argumentos que se le van a pasar a la función, digamos que su uso es dinámico. Y execl se usa cuando tu sabes exactamente los parámetros que se le van a pasar, pero al final es a gusto del programador.

Un saludo y espero que te sea de ayuda.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)