2016-09-12 2 views
0

Ich möchte ein LPCWSTR mit einem Wert vergleichen, um sicherzustellen, dass sie gleich sind. Und ich kann nicht herausfinden, wie man es vergleicht. Ich habe einen STRING-Wert erstellt und verschiedene Conversions versucht, aber nichts hat funktioniert. Im Grunde wäre es:konvertieren ein STRING von LPCWSTR und umgekehrt C++

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

http://stackoverflow.com/questions/27220/how-to-convert-stdstring-to-lpcwstr-in-cunicode –

+0

Was ist 'STRING'? – PeterT

Antwort

1

aktivieren MFC/ATL und verwenden Sie die CString-Objekt:

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

Obwohl es mir nicht klar ist, welche Art STRING entweder ist. Ich würde nur CString für beide verwenden:

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

Oder nur die wörtliche direkt verwenden:

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

landete ich es immer mit diesem Verfahren zu arbeiten.

LPCWSTR lpc = L "STRING"; wcscmp (LPCWSTR, LPCWSTR)

1

Verwenden Sie den std::wstring Typ anstelle eines std :: string in diesem Fall haben Sie die .c_str() Member-Funktion, mit zu arbeiten oder die Zeichenfolge in einen Puffer mit der MultiByteToWideChar() WinAPI Funktion zu kopieren.

Verwandte Themen