Duplication possible:
Pourquoi UNICODE et _UNICODE?
Quelle est la différence entre UNICODE et_UNICODE? Avons-nous besoin de définir les deux si la compilation du programme utilise des caractères Unicode? Y a-t-il une raison pour laquelle nous avons 2 identifiants différents pour l'utilisation de caractères Unicode?
Réponses:
4 pour la réponse № 1Raymond Chen a une réponse:
Les versions simples sans le trait de soulignementle jeu de caractères que les fichiers d’en-tête Windows traitent par défaut. Ainsi, si vous définissez UNICODE, GetWindowText mappera à GetWindowTextW au lieu de GetWindowTextA, par exemple. De même, la macro TEXT mappera sur L "..." au lieu de "...".
Les versions avec soulignement affectent lajeu de caractères, les fichiers d’en-tête d’exécution C sont traités par défaut. Donc, si vous définissez _UNICODE, alors _tcslen mappera vers wcslen au lieu de strlen, par exemple. De même, la macro _TEXT mappera sur L "..." au lieu de "...".