BSTR _bstr_t char* 之间的相互转换
2013-02-07 23:29
302 查看
void test2() { //char * <---> _bstr_t char *s1="123"; _bstr_t bt1=s1; bt1+=" _bstr_t"; char *p=(char*)bt1; printf("%s\n",p); //char * <---> BSTR BSTR b1=(BSTR)p; //BSTR本质 char*或w_char* char *p2=(char*)b1; printf("%s\n",(char*)b1); printf("%s\n",p2); //_bstr_t <---> BSTR,使用char*作为中介 BSTR b2=(BSTR)(char*)bt1; _bstr_t bt2=(char*)b2; printf("%s\n",(char*)b2); printf("%s\n",(char*)bt2); }
原理:
..\VC98\Include\RPC.H
#if defined(_WIN32) && !defined(OLE2ANSI)
typedef WCHAR OLECHAR;
#else
typedef char OLECHAR;
#endif
# define __RPC_FAR
typedef /* [wire_marshal] */ OLECHAR __RPC_FAR *BSTR; //BSTR本质 char*或w_char*
..\VC98\Include\comutil.h
class _bstr_t {
//...
public:
operator const char*() const throw(_com_error); //提供了 char*的运算符方法
}
相关文章推荐
- c++ 中 char 与 string 之间的相互转换问题
- String ,StringBuilder,char[],char 之间的相互转换 快速实现反转,对称
- PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
- c++ 中 char 与 string 之间的相互转换问题
- 数字与char之间的相互转换
- java中int,char,string之间的相互转换方法
- JavaSE_String和char[]之间的相互转换
- Qt中QString,int,char,QByteArray之间相互转换
- CString,int,string,char,BSTR之间的转换
- c++ 中 char 与 string 之间的相互转换问题
- CString-int-string-char-BSTR之间的转换
- C++中char*\wchar_t*\string\wstring之间的相互转换:
- PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换
- {wchar_t*, wchar_t, wchat_t数组},{char,char*,char数组},{std::string,std::wstring},CString之间的相互转换
- char* char[] string之间的相互转换
- Qt类型转换 QString,int,char,QByteArray之间相互转换
- 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]
- c++ 中 char 与 string 之间的相互转换问题
- CString,int,String,char,BSTR之间的转换