额外的信息,以LPCWSTR IM建筑物使用WinHttpOpenRequest阿比使用Visual Studio 2008如何从LPCSTR转换成C++
5
A
回答
11
最简单的方法是使用ATL:
#include <Windows.h>
#include <atlbase.h>
#include <iostream>
int main(int argc, char *argv[]) {
USES_CONVERSION;
LPCSTR a = "hello";
LPCWSTR w = A2W(a);
std::wcout << w << std::endl;
return 0;
}
的A2W分配(ANSI到广角端)的任何内存将被释放函数退出时。
+2
这些ATL 3.0宏已被版本7.0 [ATL和MFC字符串转换宏](http://msdn.microsoft.com/zh-cn/library/87zae4a3.aspx)取代超过十年前。其中,ATL 7.0宏不再需要使用“USES_CONVERSION”宏。另外,您可以使用const-correct变体,例如在你的例子中:'CA2W(a)'。 – IInspectable
4
Converting from char *需要LPCWSTR用于对象名称 和IM应用程序有一个很好的样本
char *orig = "Hello, World!";
cout << orig << " (char *)" << endl;
// Convert to a wchar_t*
size_t origsize = strlen(orig) + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
wchar_t wcstring[newsize];
mbstowcs_s(&convertedChars, wcstring, origsize, orig, _TRUNCATE);
wcscat_s(wcstring, L" (wchar_t *)");
wcout << wcstring << endl;
但就像提到的那样。使用generic text mapping如果可能的话
相关问题
- 1. 从LPCWSTR转换为LPCSTR
- 2. 如何将LPCSTR转换为WCHAR *?
- 3. 如何将std :: string转换为LPCSTR?
- 4. 转换:#定义XXXXXX((LPCSTR)4)
- 5. 如何将HWND转换为C++中的LPCSTR
- 6. 如何将类型“int”转换为在Win32中输入“LPCSTR”C++
- 7. 如何将字符串转换为LPCSTR? (C++)
- 8. 如何我从克转换成磅C#
- 9. LPTSTR和LPCSTR C++
- 10. 将无符号字符转换为LPCSTR
- 11. 将GUID结构转换为LPCSTR
- 12. 从MATLAB转换成C++
- 13. 从C#转换成Java JDBC
- 14. 如何将System :: IO :: Stream ^转换为PlaySound的LPCSTR?
- 15. 如何将LPCSTR字符串转换为LPCTSTR字符串?
- 16. 转换成C++
- 17. 转换成C#
- 18. 如何为C HashMap中转换成Java
- 19. 如何VB语句转换成C#
- 20. 如何转换成''
- 21. 如何从字符*转换成char []在C
- 22. 如何将vb中的struct从c#转换成?
- 23. 转换代码转换成C#
- 24. 转换器转换成欧元c#
- 25. 如何将qsort从C转换为Java?
- 26. 如何将LINQ从C#转换为VB.NET?
- 27. 如何将其从C#转换为VB.NET?
- 28. 如何将zend_parse_parameters从C++转换为pascal?
- 29. 转换从JSON坐标转换成SVG
- 30. FindFirstFile LPCSTR
为什么你不在整个应用程序中使用宽字符串? – tenfour
[LPCWSTR代表什么以及它应该如何处理?]的可能重复(http://stackoverflow.com/questions/2230758/what-does-lpcwstr-stand-for-and-how-should-it-被处理) –