將std::string 轉換為LPCSTR (指向常數字串的長指標),只需呼叫std::string 物件上的c_str() 方法即可。這將傳回一個指向內部以 null 結尾的字串緩衝區的指標。
<code class="cpp">std::string myString = "Hello World!"; const char* lpcstr = myString.c_str();</code>
將std::string 轉換為LPWSTR(指向常數寬度的長指標) string)需要更多步驟:
<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>
不同術語在不同的上下文中引用指向字串的指標:
指向常數寬字元的指標string (Unicode)
「LPstring (Unicode)「LP 」前綴表示指針很長,但這在現代Windows 開發中不再相關。 記住,LPWSTR 和 LPCWSTR 不是相同的。 LPCWSTR 是指向常數字串的指針,而 LPWSTR 是指向可修改字串的指標。以上是如何在 std::string 和 LPCSTR/LPWSTR 之間轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!