1 / 3
文档名称:

引用LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别.doc

格式:doc   大小:107KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

引用LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别.doc

上传人:w6d11j9s8 2017/4/23 文件大小:107 KB

下载得到文件列表

引用LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别.doc

相关文档

文档介绍

文档介绍:引用 LPSTR 、 LPCSTR 、 LPTSTR 、 LPCTSTR 、 LPWSTR 及 LPCWSTR 的意义及区别[ 2011 年6月8日]【大中小】 0 1、 ANSI (即 MBCS ):为多字节字符集,它是不定长表示世界文字的编码方式。 ANSI 表示英文字母时就和 ASCII 一样,但表示其他文字时就需要用多字节。 2、 Unicode : 用两个字节表示一个字符的编码方式。比如字符'A' 在 ASCII 下面用一个字节表示, 而在 Unicode 下面用两个字节表示, 其中高字节用"0" 填充; 函数'程'在 ASCI I 下面用两个字节表示,而在 Unicode 下面也是用两个字节表示。 Unicode 的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 3、 Windows 下的程序设计可以支持 ANSI 和 Unicode 两种编码方法的字符串,具体使用哪种就要看定义了 MBCS 宏还是 Unicode 宏。 MBCS 宏对应的字符串指针为 LPSTR (即 cha r*), Unicode 对应的指针为 LPWSTR (即 unsigned char* )。为了写程序的方便, 微软定义了类型 LPTSTR ,在 MBCS 下它表示 char* ,在 Unicode 下它表示 unsigned char* , 这就可以重定义一个宏进行不同字符集的转换了。 4 、关系 LPSTR : 32bit 指针指向一个字符串,每个字符占 1 字节。相当于 char * LPCSTR: 32-bit 指针指向一个常字符串, 每个字符占 1 字节。相当于 const c har * LPTSTR: 32-bit 指针每字符可能占 1 字节或 2 字节,取决于 Unicode 是否定义 LPCTSTR:32-bit 指针指向一个常字符串, 每字符可能占 1 字节或 2 字节,取决于 U nicode 是否定义 LPWSTR: 32-bit 指针,指向一个 unicode 字符串的指针, 每个字符占 2 字节。 LPCWSTR:32-bit 指针, 指向一个 unicode 字符串常量的指针, 每个字符占 2 字节。在上面的类型中, L 表示 long, P 表示指针,C 表示 constant, T 表示指针指向的字符占的字节数取决于 Unicode 是否定义, W 表示 wide , STR 就是 string 的意思 LPSTR = char * LPCSTR = const char * LPTSTR = _TCHAR * (或 TCHAR *) LPCTSTR = const _TCHAR * (或 const TCHAR *) LPWSTR = wchar_t * LPCWSTR = const wchar_t * 5、 Windows 使用两种字符集 ANSI 和 Unicode ,前者在处理英文字符时使用单字节方式, 在处理中文字符时使用双字节方式。后者不管是英文字符还是中文字符都是采用双字节方式表示。 Windows NT 的所有与字符有关的函数都提供了两种方式的版本,而 Windows 9x 只支持 ANSI 方式。_T 一般同字符常量相关,如_T(" 你好! "); 。如果编码方式为 ANS