_T()和TEXT()

首先:
"abc"是非Unicode string,
L"abc"是Unicode string.

其次:CRT (C Run Time) 库中用定义(#define) _UNICODE 来表示使用Unicode;而在 Win32 API 中是用定义(#define) UNICODE 来表示使用 Unicode 的。
而大多数应用(Application)都是既使用CRT又使用Win32 API的,所以一般地,_UNICODE和UNICODE 应该在工程中同时定义或同时不定义。
_T("abc") 在_UNICODE已定义时解释成L"abc",是Unicode string;
在_UNICODE未定义时则解释成"abc",非Unicode string。
TEXT("abc")类似,不过它是根据 UNICODE 的定义与否来决定的。

原文地址:https://www.cnblogs.com/kex1n/p/2286484.html