Windows程序设计的UNICODE问题

来源:互联网 发布:猎杀潜航3 潜艇数据 编辑:程序博客网 时间:2024/05/09 05:46

值得注意的是ANSI C/C++与microsoft c/c++是两个不同的产品.

microsoft c/c++兼容 ANSI c/c++,并且进行了扩展.

为了面向全球开发,才有了UNICODE 的编码的必要性.

在ANSI中,为了方便程序员进行ANSI和UNICODE 两种程序的开发,ANSI C/C++运行期库为我们提供了TCHAR.h的头文件.

其中定义了一些宏.EXAM:

#typedef unsigned short wchar_t;

#IF define _UNICODE

   typedef wchar_t TCHAR;

#ELSE

 typedef char TCHAR...

还有 typedef wchar_t * TCHAR *

特别有用的宏:

 wchar_T * str=L("hello");//unicode 的特定宏

   TEXT("hello");通用宏

原来的ANSI字符操作函数在转化为unicode的操作函数时候,将str变为wcs即可.

微软的C/C++运行期库又为我们提供了一些通用的微软类型:

  WCHAR/PWSTR/PCWSTR------>通用WTCHAR/PTSTR/PCTSTR等,同时unicode宏没有下划线.

如果是windows程序设计尽量采用ms提供我们的字符串操作函数,因为有可能他们已经在内存中了

 

原创粉丝点击