首页  >   经验  >   设置字符集的UNICODE和_UNICODE宏的问题分析

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

查看 codexia 的博客 2015-06-26 23:51:35 1883
字符集  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介项目判断使用的是什么字符集,利用_UNICODE 和 UNICODE 宏是否被定义来判断的。如果设置了,表示使用的是UNICODE字符集,否则是非UNICODE字符集。_UNICODE用于非Windows环境中的函数等定义,而 UNICODE用于Windows环境中的函数定义,这是个约定。而定义这两个宏,则在预处理器指令中。可以直接填,也可以使用选择字符集即可自动填上。

    设置项目的字符集所涉及到的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函数版本如下:

1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd eY~D[ 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:设置字符集的UNICODE和_UNICODE宏的问题分析
文章地址:http://www.cjjjs.com/article/6262015355123537
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:设置字符集的UNICODE和_UNICODE宏的问题分析
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

  1. 字符集、字符编码、C语言字符编码、宽字符之间的关系全面分析 查找全网同类文章
  2. DBCS双字节字符集和MBCS多字节字符集的关系总结 查找全网同类文章
  3. VS2013如何修改字符集为多字节字符? 查找全网同类文章
  4. 设置字符集的UNICODE和_UNICODE宏的问题分析_非VS用户指南 查找全网同类文章
  5. 字符集与字符编码的关系详细分析 查找全网同类文章
  6. 轻松彻底理解符号、字符和字符集(ASCII、Unicode) 查找全网同类文章
  7. 设置字符集的UNICODE和_UNICODE宏的问题分析 查找全网同类文章
  8. 教你如何解决VS2015的30天试用期已过即VS2015许可证已过期的问题 查找全网同类文章
  9. Linux源码笔记——感觉写的巧妙的代码 查找全网同类文章
  10. 在Win7上安装VS2015 RC(候选发布版)失败完美解决方法 查找全网同类文章
分享到:
分享文章[设置字符集的UNICODE和_UNICODE宏的问题分析]到QQ空间

相关阅读

猜您感兴趣