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>'); MultiByteToWideChar(CP_UTF8, 0, myString.c_str(), myString.size(), &myWstring[0], len);
다양한 용어 다양한 컨텍스트의 문자열에 대한 포인터 참조:
"LP" 접두사는 포인터가 길다는 것을 나타내지만 현대 Windows 개발에서는 더 이상 관련이 없습니다.
LPWSTR 및 LPCWSTR은 포인터가 아님을 기억하세요. 같은. LPCWSTR은 상수 문자열에 대한 포인터이고, LPWSTR은 수정 가능한 문자열에 대한 포인터입니다.
위 내용은 std::string과 LPCSTR/LPWSTR 사이를 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!