Buenas:
Es de todos sabido que la instrucción "system()" produce una llamada al sistema para que realice la acción requerida, hasta ahi bien. Pero también tiene el inconveniente de que el parámetro que pasamos depende del sistema operativo, esto es, "system("cls");" solo funciona en Windows mientras que "system("clear");" solo funciona en las distribuciones de Ubuntu.
¿Existe algún "estándar" para la instrucción "system()" que funcione en varios SO a la vez?.
Y sino, ¿me podríais indicar alguna página dónde comprobar todas los parámetros que podemos pasarle a "system()" en windows y ubuntu?.
Gracias. Saludos.
Hola! debe haber algun comando o dos q se pueden ejecutar en ambos SO, como cd y mkdir(sino me equivoco)
windows
http://www.taringa.net/posts/info/1018661/comandos-de-ms-dos.html
Linux
http://www.esdebian.org/wiki/lista-comandos-gnulinux-i#seccion2
Saludos
No existe ningún estándar, el comportamiento y el valor de retorno de la función system dependen del sistema operativo.
Si lo necesitas siempre puedes hacer una compilación condicional
#ifdef WIN32
system("cls");
#else
system("clear");
#endif
Cita de: eleon en 4 Mayo 2012, 16:49 PM
... solo funciona en las distribuciones de Ubuntu.
Corrección, Distribuciones GNU/Linux.
podes hacer como te lo mencionaron arriba, así es como lo uso yo:
#ifdef WIN32
#define LIMPIA_PANTALLA system("cls");
#else
#define LIMPIA_PANTALLA system("clear");
#endif
int main(void){
LIMPIA_PANTALLA
return 0;
}
$4!u2
Cita de: neveldine en 5 Mayo 2012, 01:48 AM
Si lo necesitas siempre puedes hacer una compilación condicional
#ifdef WIN32
system("cls");
#else
system("clear");
#endif
Neveldine, eso lo podés usar dentro del main o una función, o va en la cabecera?.
saludos.
Eso va en la cabecera, o bueno así como esta es posible que valla en el main, ya que no se define una variable para hacer más simple el llamado.
$4!u2