| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
方法三,使用CString::GetBuffer。
例如: 网管朋友网www_bitscn_net
| CString s(_T("This is a test ")); LPTSTR p = s.GetBuffer(); // 在这里添加使用p的代码 if(p != NULL) *p = _T('\0'); s.ReleaseBuffer(); // 使用完后及时释放,以便能使用其它的CString成员函数 |
(3) BSTR转换成char*
方法一,使用ConvertBSTRToString。
例如: 网管u家www.bitscn.net
| #include #pragma comment(lib, "comsupp.lib") int _tmain(int argc, _TCHAR* argv[]){ BSTR bstrText = ::SysAllocString(L"Test"); char* lpszText2 = _com_util::ConvertBSTRToString(bstrText); SysFreeString(bstrText); // 用完释放 delete[] lpszText2; return 0; } |
方法二,使用_bstr_t的赋值运算符重载。
例如: 网管u家u.bitscn@com
| _bstr_t b = bstrText; char* lpszText2 = b; |
网管联盟bitsCN_com
(4) char*转换成BSTR
方法一,使用SysAllocString等API函数。 网管bitscn_com
例如:
网管u家u.bitsCN.com
| BSTR bstrText = ::SysAllocString(L"Test"); BSTR bstrText = ::SysAllocStringLen(L"Test",4); BSTR bstrText = ::SysAllocStringByteLen("Test",4); |
方法二,使用COleVariant或_variant_t。 网管u家u.bitscn@com
例如: 网管下载dl.bitscn.com
| //COleVariant strVar("This is a test"); _variant_t strVar("This is a test"); BSTR bstrText = strVar.bstrVal; |
方法三,使用_bstr_t,这是一种最简单的方法。 网管联盟bitsCN@com
例如: 网管联盟bitsCN@com
| BSTR bstrText = _bstr_t("This is a test"); |
网管bitscn_com
方法四,使用CComBSTR。 网管bitscn_com
例如: 网管论坛bbs_bitsCN_com
| BSTR bstrText = CComBSTR("This is a test"); |
或 网管朋友网www_bitscn_net
| CComBSTR bstr("This is a test"); BSTR bstrText = bstr.m_str; |
方法五,使用ConvertStringToBSTR。
例如:
| char* lpszText = "Test"; BSTR bstrText = _com_util::ConvertStringToBSTR(lpszText); |
(5) CString转换成BSTR
通常是通过使用CStringT::AllocSysString来实现。 网管联盟bitsCN_com
例如:
| CString str("This is a test"); BSTR bstrText = str.AllocSysString(); … SysFreeString(bstrText); // 用完释放 |
网管u家u.bitsCN.com
中国网管联盟bitsCN.com
|
0
|
评论加载中…