So konvertieren Sie einen std::string in LPCSTR (langer Zeiger auf eine konstante Zeichenfolge) aufrufen, rufen Sie einfach die Methode c_str() für das std::string-Objekt auf. Dadurch wird ein Zeiger auf den internen nullterminierten String-Puffer zurückgegeben.
<code class="cpp">std::string myString = "Hello World!"; const char* lpcstr = myString.c_str();</code>
Konvertieren eines std::string in LPWSTR (langer Zeiger auf Konstante breit). string) erfordert ein paar weitere Schritte:
<code class="cpp">int len = MultiByteToWideChar(CP_UTF8, 0, myString.c_str(), myString.size(), NULL, 0); wstring myWstring(len, '<pre class="brush:php;toolbar:false"><code class="cpp">const wchar_t* lpwstr = myWstring.c_str();</code>
Die verschiedenen Begriffe beziehen sich auf Zeiger auf Zeichenfolgen in verschiedenen Kontexten:
Das Präfix „LP“ gibt an, dass der Zeiger lang ist, dies ist jedoch in der modernen Windows-Entwicklung nicht mehr relevant.
Denken Sie daran, dass LPWSTR und LPCWSTR nicht das sind Dasselbe. LPCWSTR ist ein Zeiger auf eine konstante Zeichenfolge, während LPWSTR ein Zeiger auf eine modifizierbare Zeichenfolge ist.
Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen std::string und LPCSTR/LPWSTR?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!