码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 之 字符 字符串

时间:2017-06-06 01:10:04      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:使用   typedef   lan   near   区别   nbsp   lpcwstr   cst   link   

摘自百度百科

LPCTSTR,LPWSTR, PTSTR, LPTSTR,wchar_t区别
L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP与P是等效的。
P表示这是一个指针。
T表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串。
STR表示这个变量是一个字符串。
C表示是一个常量,const。
LPTSTR:
如果定义了UNICODE宏则LPTSTR被定义为LPWSTR。typedef LPTSTR LPWSTR;
否则LPTSTR被定义为LPSTR。 typedef LPTSTR LPSTR;
下面列出一些常用的typedefs:
类型 MBCS Unicode
WCHAR <-> wchar_t
LPSTR <-> char*
LPCSTR <-> const char*
LPWSTR <-> wchar_t*
LPCWSTR <-> const wchar_t*
TCHAR <-> char 或 wchar_t
LPTSTR <->TCHAR* (或wchar_t*)
LPCTSTR <-> const TCHAR*
所以结论,在VS2005系统中,为提高可移植性,定义字符串时用TCHAR,转化为UNICODE时用_T而不用L。

 

C++ 之 字符 字符串

标签:使用   typedef   lan   near   区别   nbsp   lpcwstr   cst   link   

原文地址:http://www.cnblogs.com/normanliu1234/p/6947542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!