我看到了如何使用MFC來做到這一點,但是什麼是僅使用win32庫將LPSTR轉換爲BSTR的最佳方式。使用win32將LPSTR轉換爲BSTR
回答
#include <comutil.h>
LPSTR myLpstr = "Hello World!";
_bstr_t bstr = _bstr_T(myLpstr);
它還需要圖書館comsupp.lib
他說: 「只有在Win32庫」 。 – 2010-08-02 14:53:51
「comsupp.lib」用於「COM支持」。 COM是Win32的一部分。 – 2010-08-02 14:58:42
同意,但你應該使用comsuppw.lib(它在API中使用wchar_t *而不是unsigned short *)。它實際上不是一個Win32庫(不在PSDK中,沒有匹配的DLL),而是一個Visual C++靜態庫。因此,您不需要分發MFC,但它仍然不可移植到MingW – MSalters 2010-08-03 08:01:51
請注意,SysAllocString採用OLECHAR*
參數,該參數實際上是WCHAR*
而不是CHAR*
。這應該不會成爲一個問題,除非您在編譯時沒有定義UNICODE
- 但不要這樣做。
UNICODE是否已定義不會對LPSTR產生任何影響。你需要展示如何轉換字符串。 – 2010-08-02 15:44:54
-1,在這裏同意Hans Passant。 Unicode定義影響'LPTSTR',而不是'LPWSTR'或'LPSTR'。因此,這個答案缺失了困難的部分。 – MSalters 2010-08-03 07:56:03
- 1. 將BSTR轉換爲char *
- 2. 將ATL :: CComBSTR轉換爲BSTR *
- 3. 將BSTR轉換爲wstring
- 4. 將BSTR轉換爲int
- 5. 將BSTR轉換爲CHAR *和CHAR *爲C中的BSTR
- 6. 如何將int轉換爲BSTR
- 7. 轉換BSTR爲const char *
- 8. 無法從'std :: string'轉換爲'LPSTR'
- 9. 如何轉換CString的LPSTR
- 10. C++中的字符串類型:如何將LPWSTR轉換爲LPSTR?
- 11. 它作爲參數傳遞時如何將_bstr_t轉換爲BSTR?
- 12. 將Win16 C代碼轉換爲Win32
- 13. 如何將int轉換爲LPCTSTR? Win32
- 14. 將char *轉換爲包含特殊字符的BSTR *
- 15. MS VC++將字節數組轉換爲BSTR?
- 16. 怎麼把LPCTSTR轉換成LPSTR?
- 17. OPOS BSTR *沒有正確轉換
- 18. 如何轉換成BSTR至DATE
- 19. 與轉換BSTR問題浮動
- 20. 將Win32應用程序轉換爲對象
- 21. 將delphi win32應用程序轉換爲庫和FreeLibrary凍結
- 22. 將Win32 Crypto API調用轉換爲C#與System.Security.Cryptography
- 23. 將變量值從VB6轉換爲C#以便與Win32一起使用
- 24. 如何將win32 CHAR(char)類型轉換爲std字符串?使用Win32函數ReadFile的
- 25. C++/CLI將跟蹤句柄轉換爲Win32的本地指針?
- 26. VS2008:沒有選擇將Win32 C++項目轉換爲x64?
- 27. 在Delphi中將URL轉換爲有效的win32文件名稱
- 28. 如何在Win32 C中將GMT轉換爲LocalTime?
- 29. 在C++中將位圖轉換爲PNG內存(win32)
- 30. 將int轉換爲LPCWSTR的正確方法(Win32)
的MultiByteToWideChar + SysAllocString – Luke 2010-08-02 16:50:14