Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

char,wchar_t,WCHAR,TCHAR,ACHAR的区别

Posted on 2011-12-13 10:24 Prayer 阅读(1707) 评论(0)  编辑 收藏 引用 所属分类: C/C++
char:

ANSI字符串,可用字符串处理函数strcat( ),strcpy( ), strlen(
)等以str打头的函数。

wchar_t :

wchar_t是Unicode字符的数据类型,它的实际定义为:typedef
unsigned short wchar_t;
wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头
的函数。

WCHAR:

在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t。
在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定
义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。
TCHAR:
如果定义了UNICODE宏则TCHAR被定义为wchar_t。typedef wchar_t TCHAR; 否则TCHAR被定义为char typedef char TCHAR;
ACHAR:

此类型是AUTODESK公司在adachar.h 头文件中定义的。
当定义了AD_UNICODE(AUTODESK公司使用UNICODE宏)时为wchar_t。






只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理