字符串类型转换总结.doc

上传人:hw****26 文档编号:3508708 上传时间:2019-06-01 格式:DOC 页数:2 大小:37KB
下载 相关 举报
字符串类型转换总结.doc_第1页
第1页 / 共2页
字符串类型转换总结.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、字符串类型转换总结这里总结了 BSTR, _bstr_t, CComBSTR, CString 四种字符串类型之间的转换。其中 BSTR 为基本数据类型,另三个为字符串类。首先声明四个类型的变量:BSTR strBigBSTR = :SysAllocString( _T( “BSTR“ );_bstr_t strSmallBSTR( _T( “_bstr_t” ) ;CComBSTR strCComBSTR( _T( “CComBSTR” )CString strCString( _T( “CString” );CComBSTR strTempCComBSTR( _T( “TempCComBS

2、TR” );1 BSTR to Other TypeBSTR 转换为其他类型非常方便,直接使用类的构造函数即可/ BSTR to _bstr_tstrSmallBSTR = _bstr_t( strBigBSTR );/ BSTR to CComBSTRstrCComBSTR = CComBSTR( strBigBSTR );/ BSTR to CStringstrCString = CString( strBigBSTR );2 _bstr_t to Other Type基本思想是先把_bstr_t 转化为 TCHAR*, 再转化为其他类型。/ _bstr_t to BSTRstrTempC

3、ComBSTR = CComBSTR( static_cast( strSmallBSTR );strBigBSTR = strTempCComBSTR.m_str;/ _bstr_t to CComBSTRstrCComBSTR = CComBSTR( static_cast( strSmallBSTR );/ _bstr_t to CStringstrCString = CString( static_cast( strSmallBSTR );_bstr_t 类重载了操作符 char*和 wchar_t*(TCHAR*的两种形式) ,所以这里并不是使用强制转换,而是调用了_bstr_t 的

4、函数。3 CComBSTR to Other Type基本思想是使用 CComBSTR 的公有成员变量 m_str 进行转换。/ CComBSTR to BSTRstrBigBSTR = strCComBSTR.m_str;/ CComBSTR to _bstr_tstrSmallBSTR = _bstr_t( strCComBSTR.m_str );/ CComBSTR to CStringstrCString = CString( strCComBSTR.m_str );4 CString to Other Type基本思想是先把 CString 转化为 LPCTSTR, 再转化为其他类型

5、。/ CString to BSTRstrTempCComBSTR = CComBSTR( static_cast( strCString );strBigBSTR = strTempCComBSTR.m_str;/ CString to _bstr_tstrSmallBSTR = _bstr_t( static_cast( strCString );/ CString to CComBSTRstrCComBSTR = CComBSTR( static_cast( strCString );CString 类重载了操作符 LPCTSTR,所以这里并不是使用强制转换,而是调用了 CString 的函数。5 注意事项:其他类型转化为 BSTR 类型时都使用的 CComBSTR 作为中转,因为这样不需要自己释放内存。但是要注意的是,转换后 BSTR 指向的是CComBSTR 的内存,所以一旦 CComBSTR 被销毁了,BSTR 也就失效了,这样会导致不可预知的错误。所以一定要保证 CComBSTR 大于或等于BSTR 的周期。下面用法是错误的:strBigBSTR = CComBSTR( LPCTSTR )strCString ).m_str;因为 CComBSTR 在此条语句结束后就被析构了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。