Ejecución Comandos desde C

Adri?
01 de Septiembre del 2003
Me gustaria saber como hacer para desde un programa en C ejecutar comandos de DOS y capturar los resultados..
Si me pueden referenciar a algún tutorial les agradeceria mucho

Maro
01 de Septiembre del 2003
muy wenas shafalito!!
pos mira, lo pueds hacer d la siguiente forma, con este comando ejecutas acciones de ms-dos:
system("comando");
y si kieres tratar los resultados del comando lo pueds redireccionar a un archivo de texto y luego abres el fichero y haces lo que kieras, podría ser así:
system("comando > fichero.txt");

Poniendo ">" creas el fichero, y si existe, borra su contenido. Si kieres wardar el contenido para alguna historia tuya puedes hacer esto otro:
system("comando >> fichero.txt");
suerte!!!;)

Sergio
01 de Septiembre del 2003
Una cosa mas a lo que te han respondido ya, el prototipo de system es int system(char *) por lo que el comando ejecutado devuelve un codigo de error que te permite saber si se ejecuto o no correctamente lo que querias.

chuidiang
01 de Septiembre del 2003
Lo siento, parece que me lie al escribir el fgets() y te puse los parámetros en un orden distinto. El fichero va al final.

El popen() si tiene algo que ver con las "pipes". Lanza el programa que le dices y abre una pipe con su standrd out, de forma que desde tu programa puedes leer su salida pantalla.

Si lo abres con popen() y con escritura "w", entonces la pipa es con su standard in, así que podrías enviarle datos.

Se bueno.