这是我的需求
BSTR l_strArgs;
LPCWSTR sth;
//----
//---
OutputDebugStringW(sth);如何将BSTR转换为LPCWSTR?
有没有将字符串类型(Microsoft)转换为LPCWSTR类型的只包含头文件的库?
发布于 2013-05-17 22:27:40
只需介绍NULL场景,您就可以开始工作了
BSTR l_strArgs;
LPCWSTR sth = strArgs ? strArgs : L"";正如您在标记中提到的ATL,下面是ATL风格的一行代码:
OutputDebugString(CString(l_strArgs));或者,要确保您留在Unicode域中:
OutputDebugStringW(CStringW(l_strArgs));发布于 2013-05-17 22:32:10
我刚找到这个
BSTR l_strArgs;
LPCWSTR sth;
CString cs(_com_util::ConvertBSTRToString(l_strArg));
sth = cs;
OutputDebugStringW(sth);发布于 2013-05-17 22:30:48
当您使用像_bstr_t这样的包装器时,BSTR会变得更容易处理。这是微软关于他们http://msdn.microsoft.com/en-us/library/zthfhkd6%28v=VS.100%29.aspx的文档
正如您所期望的那样,其中一个_bstr_t构造函数接受一个BSTR参数。还有一个运算符可以返回一个常量wchar_t*,您应该能够将其转换为LPCWSTR。
希望这能有所帮助
https://stackoverflow.com/questions/16611416
复制相似问题