设置字符集的UNICODE和_UNICODE宏的问题分析

2601 人浏览 | 时间: 2015-06-26 23:51:35 | 作者: codexia

    设置项目的字符集所涉及到的UNICODE和_UNICODE宏的相关问题的说明分析,理解这个对于字符集就不在害怕了。
    在tchar.h头文件中,定义了宏_UNICODE。
    根据是否定义_UNICODE来判断使用了Unicode字符集,进而包含对应的字符集头文件,以及设定对应的函数版本。并定义__T(x)、_T(x)、_TEXT(x)宏方便使用字符串,而不用管是使用说明版本的函数和字符集。

    节选定义部分如下:

#ifdef  _UNICODE /* 定义了 _UNICODE */
#include <wchar.h>
#define _TEOF    WEOF
#define __T(x)   L ## x

#define _tmain    wmain
#define _tWinMain wWinMain

#define _tprintf wprintf
#define _tscanf         wscanf
#define _gettc          getwc

#define _tcstod     wcstod
#define _tcstol     wcstol
#define _tcstoul    wcstoul

#define _tfopen     _wfopen

#define _tcsclen        wcslen

#endif
#else   /* 没定义 _UNICODE */
#include <string.h>

#define _TEOF       EOF
#define __T(x)      x

#define _tmain      main
#define _tWinMain   WinMain

#define _tprintf        printf

#endif  /* 结束 */

#define _T(x)       __T(x)
#define _TEXT(x)    __T(x)

    然而在windows.h头文件中包含的winuser.h头文件中,定义了Windows中使用的一些函数如MessageBox函数的ANSII版本和Unicode版本。

    定义MessageBox函数版本如下:

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0