从LPCWSTR转换STRING,反之亦然c ++

时间:2016-09-12 21:12:41

标签: c++ string visual-studio lpcwstr

我想将LPCWSTR与值进行比较以确保它们相等。我无法弄清楚如何比较它。我创建了一个STRING值并尝试了各种转换,但没有任何效果。基本上它将是:

request->id // some LPCWSTR value
STRING str = "value" // String value I want to compare
if (request->id != str)
{
 //Something
}

3 个答案:

答案 0 :(得分:1)

启用MFC / ATL并使用CString对象:

if (CString(request->id) != str)

虽然我不清楚STRING是什么类型的。我只想使用CString:

STRING str = "value" // String value I want to compare
if (CString(request->id) != str)

或者直接使用文字:

if (CString(request->id) != "value")

答案 1 :(得分:1)

使用std::wstring类型而不是std :: string,在这种情况下,您可以使用.c_str()成员函数或使用MultiByteToWideChar() WinAPI函数将字符串复制到缓冲区

答案 2 :(得分:0)

我最终使用此过程让它工作。

LPCWSTR lpc = L" STRING&#34 ;; wcscmp(LPCWSTR,LPCWSTR)