将BSTR转换为LPCWSTR
convert BSTR to LPCWSTR
这是我的需求
BSTR l_strArgs;
LPCWSTR sth;
//----
//---
OutputDebugStringW(sth);
如何将BSTR转换为LPCWSTR ?
是否存在将任何字符串类型(microsoft)转换为LPCWSTR类型的仅头库?
只要覆盖NULL
场景就可以了
BSTR l_strArgs;
LPCWSTR sth = strArgs ? strArgs : L"";
正如您在标签中提到的ATL,下面是ATL风格的一行代码:
OutputDebugString(CString(l_strArgs));
或者,为了确保你在Unicode域内:
OutputDebugStringW(CStringW(l_strArgs));
我刚找到这个
BSTR l_strArgs;
LPCWSTR sth;
CString cs(_com_util::ConvertBSTRToString(l_strArg));
sth = cs;
OutputDebugStringW(sth);
当您使用像_bstr_t这样的包装器时,bstr变得更容易处理。这是微软关于它们的文档http://msdn.microsoft.com/en-us/library/zthfhkd6%28v=VS.100%29.aspx
如您所料,其中一个_bstr_t构造函数接受BSTR形参。还有一个返回const wchar_t*的操作符,您应该能够将其强制转换为LPCWSTR。希望能有所帮助
相关文章:
- C++ 在参数中将字符串转换为 LPCWSTR
- CPP Windows 字符串转换混淆了 CStringA 和 LPCWSTR
- 代码 c++ VS 2010 中的 LPCWSTR 到字符串转换问题
- 无法将常量字符 [16] 转换为 LPCWSTR
- 无法将参数 2 从 'const char [5]' 转换为 'LPCWSTR'
- 如何转换LPCWSTR和CHAR
- 如何将 CStringW 转换为 LPCWSTR
- 将SystemTime转换为LPCWSTR
- LPCWSTR 无法在 TextOut() 方法上正确转换
- 无法将'LPCWSTR {aka const wchar_t*}'转换为 'LPCSTR {aka const char*}
- 如何将DWORD或char*类型的变量转换为LPCWSTR
- 'HMODULE GetModuleHandleW(LPCWSTR)':无法将参数 1 从 'const char *' 转换为 'LPCWSTR'
- 从字符转换为 LPCWSTR
- 如何将字符* 转换为 LPCWSTR
- 错误 C2664:'auxDIBImageLoadW':无法将参数 1 从 'LPSTR' 转换为 'LPCWSTR'
- 将浮点数转换为 LPCWSTR
- 如何将LPCWSTR转换为LPWSTR
- 将LPSTR转换为LPCWSTR
- 调用CreateProcessW(Mobile MFC)时BSTR到LPCWSTR的转换
- LPCWSTR转换为char*,反之亦然