如何区分wchar_t、char和WCHAR字符类型及其在C语言中的差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1708个文字,预计阅读时间需要7分钟。
1. 区别wchar_t, char, WCHAR (ANSI): - 即char,可用于处理ASCII字符串。 - 提供字符字符串处理函数:strcat(+)、strcpy(+)、strlen(+)等以str打头的函数。
2. UNICODE: - wchar_t是Unicode字符的数据类型。 - 实际定义如下:typedef unsigned short wchar_t。
1、区别wchar_t,char,WCHAR
ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。
UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:
typedef unsigned short wchar_t;
另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t
wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头的函数。为了让编译器识别Unicode字符串,必须以在前面加一个“L”,例如: wchar_t *szTest=L"This is a Unicode string.";
2、TCHAR
在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自 动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。
本文共计1708个文字,预计阅读时间需要7分钟。
1. 区别wchar_t, char, WCHAR (ANSI): - 即char,可用于处理ASCII字符串。 - 提供字符字符串处理函数:strcat(+)、strcpy(+)、strlen(+)等以str打头的函数。
2. UNICODE: - wchar_t是Unicode字符的数据类型。 - 实际定义如下:typedef unsigned short wchar_t。
1、区别wchar_t,char,WCHAR
ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。
UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:
typedef unsigned short wchar_t;
另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t
wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头的函数。为了让编译器识别Unicode字符串,必须以在前面加一个“L”,例如: wchar_t *szTest=L"This is a Unicode string.";
2、TCHAR
在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自 动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。

