C++中Unicode和muti-Byte的问题以及this指针

来源:互联网 发布:图灵java书籍 编辑:程序博客网 时间:2024/05/17 08:37

1.char与wchar_t

char中存放的是多字节型的字符,wchar_t中存放的是双字节型的字符,TCHAR在定义了_UNICODE时等同于wchar_t,在未定义_UNICODE时等同于char。

2.sprintf、wsprintf、_stprintf

sprintf是c++运行时库中的一个函数。c++ 运行时库处理字符串的函数通常都有2个版本,一个处理多字节型的字符,一个处理双字节型的字符。

对于sprintf来说,它本身用于处理单字节字符,其双字节字符版本名为wprintf。
为了使用方便,c++运行时库还为每个处理字符串的库函数定义了一个宏,sprintf对应的宏的名字为_stprintf,这个宏在定义了_UNICODE时等同于wsprintf,在未定义_UNICODE时等同于sprintf。

3.在visual studio 中一般出现的错误提示"char *" is incompatible with parameter of type "LPCWSTR"的提示:

解决方法:http://blog.csdn.net/lingshaohumooner/article/details/6948467

参考:http://hi.baidu.com/peidun/blog/item/fe97766380f415680d33fa13.html

   http://blog.csdn.net/lingshaohumooner/article/details/6948467

4.this指针的问题:this指针是一个特殊的指针,指向的是类的对象的地址,始终代表着对象

在类的构造函数中比较常用

参考:http://blog.csdn.net/feiyond/article/details/1652505