Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3976057
  • 博文数量: 408
  • 博客积分: 10227
  • 博客等级: 上将
  • 技术积分: 9820
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-17 21:48
个人简介

非淡泊无以明志,非宁静无以致远

文章存档

2022年(1)

2021年(1)

2020年(2)

2019年(5)

2018年(4)

2017年(3)

2016年(24)

2015年(8)

2014年(7)

2013年(3)

2012年(1)

2011年(23)

2010年(179)

2009年(147)

分类: C/C++

2010-01-04 23:19:37

 

  

 

1.MSDN是这样定义原型的:  

  typedef   CONST   CHAR   *LPCSTR,   *PCSTR;  

  typedef   LPCSTR   LPCTSTR;  

  typedef   WCHAR   *LPWSTR,   *PWSTR;  

  typedef   CONST   WCHAR   *LPCWSTR,   *PCWSTR;  

2.类型解析:

LPSTR                    32-bit指针,指向一个字符串  

  LPCTSTR                 32-bit指针,指向一个常数字符串,此字符串可移植到UnicodeDBCS(双字节字集)  

  LPTSTR                   32-bit指针,指向一个字符串,此字符串可移植到UnicodeDBCS(双字节字集)  

  LPCSTR                   32-bit指针,指向一个常数字符串  

  LPWSTR                     \0结束的Unicode字符串,即双字节

 3.区别:    

  区别于有C的那一套,上面的三个都是变量,有C的那一套都是常量。  

  LPSTR对应与LPCSTR  

  LPWSTR对应与LPCWSTR  

  LPTSTR对应与LPCTSTR  

     

  CHAR     8bit     ansi字符  

  WCHAR   16bit   unicode字符  

  TCHAR   如果定义了UNICODE(#def   UNICODE),TCHAR   等同于WCHAR   ,如果没有定义unicode宏,  

  TCHAR   等同于CHAR        

  4.其它: 

  字符串操作,你们熟悉的那套是针对ANSI字符串设计的,  

  还有一套针对宽字符设计的函数。  

  例如:  

  wcsncpy  

  wcsncat  

  strncmy  

  同样,还有一套unicode字符串和ansi字符串之间相互转换的函数:  

  例如:  

  WideCharToMultiByte  

阅读(7558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~