1、关于TCHAR类型查阅MSDN发现
#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif
上面代码说白了就是:如果程序使用UNICODE字符集,则TCHAR代表WCHAR,否则代表char。由于现在我们编写Windows程序通常都是用UNICODE字符集,所以就姑且把它当成WCHAR类型。
2、关于WCHAR类型查阅MSDN发现
typedef wchar_t WCHAR;
原来WCHAR类型在MFC中其实就是C++宽字符类型的另一个名字而已。wchar_t的变量在C++中初始化和赋值需要加L。例如,要对wchar_t变量初始化赋值,代码如下所示。
wchar_t weekDay[8] = {L'日', L'一', L'二', L'三', L'四', L'五', L'六'}; // 和char不同的是每个字符前面要加L,表示为宽字符
如果要对wchar_t类型字符串赋值当然也需要加L,代码如下所示。
wchar_t weekDay[] = L"日一二三四五六"; // 字符串数组初始化赋值和char类型也不同,前面需要加L
3、在使用UNICODE字符