C/Visual C - Detectar Sistema Operativo

 
Vista:

Detectar Sistema Operativo

Publicado por Han Solito (3 intervenciones) el 15/12/2001 07:11:43
Hola, tengo el siguiente problema:

En la universidad trabajamos bajo Unix, y en mi casa bajo Windows. Para limpiar la pantalla suelo utilizar system("clear"), eso bajo Unix, y system("cls") bajo Windows.

Mi pregunta es si hay alguna forma de saber que sistema operativo es en el que el programa está ejecutando, para así hacer una cosa mas o menos como esta:

#if (SistemasOperativo == Windows)
#define LIMPIAR cls
#elseif(SistemaOperativo == Unix o Linux)
#define LIMPIAR clear

....

system(LIMPIAR);


Si esto no es posible, ¿hay alguna función que se encargue de limpiar la pantalla y que funcione en ambas plataformas?.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Detectar Sistema Operativo

Publicado por Oscar (114 intervenciones) el 15/12/2001 10:48:15
Si usas Visual C en windows tenes el define _WIN32 .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detectar Sistema Operativo

Publicado por SirKalibur (5 intervenciones) el 20/12/2001 12:11:32
Cuando ejecutas un System("<sentencia>") lo que estás haciendo es una llamada al interprete de comandos del sistema operativo. Creo (hace tiempo que no lo uso) que system devuelve el error si no se ha encontrado el comando a ejecutar. Puedes capturar el error y ejecutar el otro. Tb puedes usar (una forma mas elegante) la constante de sistema _WIN32 que contiene la version, pero no se si esta constante existe en Unix (no lo creo).
Saludetes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar