Възможно дублиране:
Защо и UNICODE и _UNICODE?
Каква е разликата между UNICODE и_UNICODE? Трябва ли да дефинираме и двете, ако компилирате програмата, за да използвате Unicode символи? Има ли причина да имаме 2 различни идентификатора за използване на Unicode символи?
Отговори:
4 за отговор № 1Реймънд Чен има отговор:
Обикновените версии без подчертаване влияятнабора от символи, които файловете с заглавията на Windows третират по подразбиране. Така че, ако дефинирате UNICODE, тогава GetWindowText ще се преобразува в GetWindowTextW вместо с GetWindowTextA. По същия начин макросът TEXT ще се изобрази на L "..." вместо "...".
Версиите с подчертаване засягатЗадаване на символи C файловете на заглавието C се третират по подразбиране. Така че, ако определите _UNICODE, то _tcslen ще се съпостави с wcslen вместо с strlen, например. По същия начин макросът _TEXT ще се присвои на L "..." вместо на "...".