comando system C++

silvanha
23 de Enero del 2005
hola!.. espero puedan ayudarme, resulta que quiero hacer un programa en turbo C++, que ejecute una instruccion de linea de comandos u otro programa .exe, encontre que el comando "system" me puede ayudar, pero no me sale!!!!!, mi codigo es el siguiente:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
printf("Creo que no quiere!!!!n");
system("dir");
getch();
return 0;
}

y es que si corre, pero no me muetra nada, le puse un "dir", para ver si lo hace.. pero no.. claro imprime el mensaje pero nada mas... pensaba en que quizas sea el windows de mi maquina, tengo Mellinneum.. ayuda pls!!!!....de antemano muchas gracias =)

Caiman
23 de Enero del 2005
Yo veo bien tu programa pero por que no intentas poniendo una instrucción más específicia como:

dir c:

Haber que tal-

carmamezo
23 de Enero del 2005
A mi me funciona tu programa perfectamente, compilado con el Visual C.
Deberías ver qué te devuelve la función system(), si el valor que te devuelve es -1, deberías hacer un chequeo del errno, para saber a qué se debe. Puede que no encuentre el intérprete de comandos del sistema. Creo que se hace así, pero no estoy muy seguro:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <errno.h>

int main(void)
{
int res;
printf("Creo que no quiere!!!!n");
res=system("aaa");

if(res==-1)
{
if(errno==E2BIG)
printf("nLa lista de argumentos es demasiado larga.");
else if(errno==ENOENT)
printf("nNo se puede encontrar el interprete de comandos.");
else if(errno==ENOEXEC)
printf("nEl interprete tiene un formato invalido y no es ejecutable.");
else if(errno==ENOMEM)
printf("nNo hay suficiente memoria para ejecutar el comando");
else
printf("nError desconocido.");
}

getch();
return 0;
}

Un saludo.