Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Comando system()

Estas en el tema de Comando system() en el foro de C/C++ en Foros del Web. Buenas, En windows, dentro de un programa estoy ejecutando otro mediante la siguiente orden: res=system(prog); Me está dando error por lo que quiero conocer el ...
  #1 (permalink)  
Antiguo 09/03/2010, 04:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Comando system()

Buenas,

En windows, dentro de un programa estoy ejecutando otro mediante la siguiente orden:

res=system(prog);

Me está dando error por lo que quiero conocer el valor devuelto por "res" para ver el motivo, así que he puesto:

sprintf(tempLog, "Error al ejecutar system %d'\n", res);

En algunos casos me devuelve el valor "1" y en otros "128" ¿que significan? ¿donde puedo consultar todos los los valores devueltos por system?

Gracias.
  #2 (permalink)  
Antiguo 09/03/2010, 08:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 49
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Comando system()

perror("Error");
printf("ERROR:%d\n"errno);
printf("%s",sys_errlist[errno]);
exit(1);

Esto te devolvera el error de forma mas detallada.
Si no te queda claro pon el fragmento de código donde te sale el error y lo miramos.
  #3 (permalink)  
Antiguo 09/03/2010, 09:57
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Comando system()

Depende del S.O.:
http://www.cplusplus.com/reference/c...stdlib/system/
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 12/03/2010, 01:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Comando system()

Buenas,

He puesto lo que indicaba Ejeda pero es que el errno me devuelve que no hay error:

2010/03/11 20:42:56 Cola de Input cerrada
2010/03/11 20:42:56 Llamada PROG.EXE Y:\MQGP\adaptadores\batch\PROG.exe X:/file/nc/INT.F100311.ZIP -i Y:\prog\ini\PROG.ini
2010/03/11 20:42:56 ERROR:0
2010/03/11 20:42:56 <No error>
2010/03/11 20:42:56 Error al ejecutar el PROG.EXE
Causa del Error ==> 'No error' Valor salida: 128'


Os pego el trozo de código:

x=system(adput);
if (x!=0)
{
perror("Error");
sprintf(tempLog, "ERROR:%d\n",errno);
writeLog(tempLog);
sprintf(tempLog, "<%s>\n",sys_errlist[errno]);
writeLog(tempLog);
sprintf(tempLog, "Error al ejecutar el PROG.EXE\n Causa del Error ==> '%s' Valor salida: %d'\n",strerror(errno), x);
writeLog(tempLog);


Como podéis comprobar, el única código de error que tengo es el valor 128 que devuelve la variable x. Quisiera saber que indica ese código y también si el valor es 1, que es el otro error que estoy teniendo. Es decir, a veces tengo el 128 y otras veces el 1.

Gracias!

Etiquetas: comando, system
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.