DETECTER LE SYSTEME D'EXPLOITATION [ANSI C++]

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 17 févr. 2002 à 17:11
sebcmoa Messages postés 4 Date d'inscription lundi 6 décembre 2004 Statut Membre Dernière intervention 21 novembre 2008 - 5 mars 2007 à 16:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9498-detecter-le-systeme-d-exploitation-ansi-c

sebcmoa Messages postés 4 Date d'inscription lundi 6 décembre 2004 Statut Membre Dernière intervention 21 novembre 2008
5 mars 2007 à 16:15
C'est pas un peu trop facile votre truc là? Vous êtes certains que ça marche?
Il n'y a aucun autre moyen de connaitre l'OS sur lequel on est en c/c++ ?
DeepThroat Messages postés 11 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 5 juillet 2002
17 juin 2002 à 23:48
vraiment pas con ...
Haypo Messages postés 6 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 1 août 2002
30 mai 2002 à 19:32
Ca permet effectivement de détecter l'OS ... à la compilation. Je connais d'autres #define :
#ifdef __MSDOS__
// MS-Dos
#elif defined(linux) || defined(__CYGWIN__)
// Linux pur, ou Linux sous Windows avec CygWin
#elif defined(_Windows)
// Windows
#else
// OS inconnu
#endif

C'est très pratique ces directives. Pour effacer l'écran :
#ifdef __MSDOS__
clrscr();
#elif defined(linux)
printf ("x1B[2Jx1B[0;0H");
#elif defined(_Windows)
FillConsole... (trop long à écrire, mais je peux vous poster le code si vous voulez)
#endif
cs_Bog Messages postés 29 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 28 janvier 2003
20 févr. 2002 à 16:12
Detecter le systeme d'exploitation ?
C'est un peu léger ton code muller...
mmuller57 Messages postés 174 Date d'inscription mardi 10 avril 2001 Statut Membre Dernière intervention 30 juillet 2003 1
19 févr. 2002 à 17:05
Ben oui c'est normal !
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
17 févr. 2002 à 17:11
Ca ne marche pas !
Les #define sont interprétés par le préprocesseur à la compilation donc si tu as compilé ton code sous Dos et que tu exécutes ce prog ensuite sous Windows, ton prog te dira que Windows n'est pas installé.
En plus à part sous DOS/Windows ton binaire ne fonctionnera pas.
Rejoignez-nous