vc++中各种字符串含义和转换大全.docVIP

  • 3
  • 0
  • 约3.71千字
  • 约 5页
  • 2017-02-17 发布于北京
  • 举报
vc++中各种字符 2012年0月日 CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。 CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。 typedef OLECHAR FAR* BSTR; typedef const char * LPCTSTR;BSTR是为了与原先的basic字符兼容。主要用来和VB打交道的(VB里的string就是指它)。一个 BSTR 由头部和字符串组成,头部4字节包含串长信息,串中可以包含嵌入的 null 值。这种带长度前缀的字符串,主要由操作系统来管理的,所以要用api.操作它的API函数很多,如SysAllocString,SysFreeString等. vc里封装它的类如_bstr_t,及ATL中的CComBSTR等. BSTR 是以指针的形式进行传递的。 BSTR 是 Unicode 的,即每个字符需要两个字节。 BSTR 通常以两字节的 null 字符结束。 vc++中各种字符串的表示法 首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。 LP的含义

文档评论(0)

1亿VIP精品文档

相关文档