將std::string 轉換為LPCSTR 和LPWSTR
在C 中,有時需要將std::string 轉換為LPCSTR>
在C 中,有時需要將std::string 轉換為LPCSTR>在C 中,有時需要將std::string 轉換為LPCSTR>在C 中,有時需要將std::string 轉換為LPCSTRSTRLP 或用於某些API。這可以使用 c_str() 方法來實作。
轉換為LPCSTR
<code class="cpp">std::string str = "Hello, world!"; LPCSTR lpcstr = str.c_str();</code>
將std::string 轉換為LPCSTR(指向以null 結尾的常數的指標)字元陣列),只需使用c_str() 方法:
轉換為LPWSTR
<code class="cpp">std::string str = "Hello, world!"; size_t length = str.length(); WCHAR* buffer = new WCHAR[length + 1]; MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, buffer, (int)length); LPWSTR lpwstr = buffer;</code>
轉換為LPWSTR(指向常數寬字元陣列的指標)稍微複雜一些,因為它需要使用WCHAR 類型:
理解LPCSTR、LPSTR、LPWSTR 和LPCWSTR
LPCWSTR: Long Pointer to Constant Wide STRing(指向常數寬字元陣列的指標)
In一般來說,LPCSTR 和LPCWSTR 與常數字串一起使用,而LPSTR 和LPWSTR 與可變字串一起使用。請注意,這些名稱中的「L」是 16 位元 Windows 遺留下來的,可以忽略。以上是如何在 C 中將 std::string 轉換為 LPCSTR 和 LPWSTR?的詳細內容。更多資訊請關注PHP中文網其他相關文章!