Attribuer à une macro la valeur "\"
Bonjour/Bonsoir !
Pour les besoins d'un logiciel que je développe, j'ai besoin de savoir sous quel OS tourne actuellement ledit logiciel, pour connaître la forme des séparateurs de dossiers, \ sous Windows, / pour presque tout le reste...
J'ai donc eu l'idée (que je pensais géniale... :aie:) de tester les macros définies par le compilateur en fonction de l'OS, puis d'en créer un nouvelle qui prendrait la valeur / ou \ en fonction du résultat ! Ce qui a donné le code suivant :
Code:
1 2 3 4 5 6 7
| #if !defined(_WIN16) || \
!defined(_WIN32) || \
!defined(_WIN64)
#define FOLDER_SEPARATOR /
#else
#define FOLDER_SEPARATOR \
#endif |
Évidemment, le problème semble évident : le préprocesseur prend ça pour une nouvelle ligne, me dit que mon #if n'est pas terminé (forcément, il ne voit pas le #endif), et me crache à la gueule en me demandant d'aller corriger mon code !
J'ai essayé de doubler l'antislash, de le transformer en chaîne de caractères avec un # devant, mais rien...
Je remercie d'avance ceux qui auraient une idée et qui voudront bien prendre le temps de m'aider ! :)