首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

std:string怎么转换为BSTR

2013-01-20 
std::string如何转换为BSTR?如题,我的std::string存储有中文路径,如何正确转换为BSTR型,具体是应用于Basic

std::string如何转换为BSTR?
如题,我的std::string存储有中文路径,如何正确转换为BSTR型,具体是应用于BasicExcel中打开中文名的EXCEL文件。
[解决办法]
std::string -> BSTR 举例如下
std::string name = "nisb";
_bstr_t bstr_t(name.c_str());
BSTR ret_val = bstr_t.GetBSTR(); 
[解决办法]
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t
http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx
[解决办法]
BSTR 其实就是wchar_t *
std::string.c_str() 其实就const char *
const char * 又可以用const_cast<char *>去掉const属性
最终std::string 到BSTR 就转换为MultiByteToWideChar的问题了
[解决办法]
std::string strTemp = "";
wchar_t wzTemp[MAX_PATH*2] = {0};
MultiByteToWideChar(CP_ACP,0,strTemp.c_str(),-1,wzTemp,sizeof(wzTemp));
BSTR bstrTemp = wzTemp;
[解决办法]

引用:
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t
http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx


++++

热点排行