值得注意的是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提供我们的字符串操作函数,因为有可能他们已经在内存中了