본문 바로가기

운동하는 개발자/c++

c++ wstring to string / string to wstring

728x90

몇몇 오래된 API를 쓰다보면 유니코드 문자 타입을 써야 할일이 종종 있다

타입변환 방법은 여러가지가 있지만 최신 C++스럽게 변환해보자(작성당시 c++17버전 사용 + winapi사용안함)

- wstring to string (LPCWSTR to LPCSTR)

- string to wstring (LPCSTR to LPCWSTR )

#include <string>

std::string WstrToStr(const std::wstring& source)
{
	return std::string().assign(source.begin(), source.end());
}

std::wstring StrToWstr(const std::string& source)
{
	return std::wstring().assign(source.begin(), source.end());
}​

 

추가 : wstring 을 LPCWSTR로 바꾸려면 .c_str()만 붙여주면된다

 

728x90