使用win32将LPSTR转换为BSTR

时间:2010-08-02 14:44:49

标签: c++ winapi

我看到如何使用MFC执行此操作,但是仅使用win32库将LPSTR转换为CTR的最佳方法是什么。

3 个答案:

答案 0 :(得分:3)

#include <comutil.h>

LPSTR myLpstr = "Hello World!";
_bstr_t bstr = _bstr_T(myLpstr);

它还需要库comsupp.lib

答案 1 :(得分:2)

使用SysAllocString

请注意,SysAllocString采用OLECHAR*参数,实际上是WCHAR*,而不是CHAR*。这不应该是一个问题,除非你在没有定义UNICODE的情况下进行编译 - 但是不要这样做。

答案 2 :(得分:1)

不知道具体的解决方案,但我认为这会对你有帮助(特别是第二部分):

The Complete Guide to C++ Strings, Part I - Win32 Character Encodings

The Complete Guide to C++ Strings, Part II - String Wrapper Classes