Maison > Article > développement back-end > Comment convertir entre std :: string et LPCSTR/LPWSTR ?
Pour convertir un std::string en LPCSTR (pointeur long vers une chaîne constante), appelez simplement la méthode c_str() sur l'objet std::string. Cela renverra un pointeur vers le tampon de chaîne interne terminé par un caractère nul.
<code class="cpp">std::string myString = "Hello World!"; const char* lpcstr = myString.c_str();</code>
Conversion d'un std::string en LPWSTR (pointeur long vers une largeur constante string) nécessite quelques étapes supplémentaires :
<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>'); MultiByteToWideChar(CP_UTF8, 0, myString.c_str(), myString.size(), &myWstring[0], len);
Les différents termes faire référence à des pointeurs vers des chaînes dans différents contextes :
Le préfixe "LP" indique que le pointeur est long, mais cela n'est plus pertinent dans le développement Windows moderne.
N'oubliez pas que LPWSTR et LPCWSTR ne sont pas les même. LPCWSTR est un pointeur vers une chaîne constante, tandis que LPWSTR est un pointeur vers une chaîne modifiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!