[C++] std::string to std::wstring 서로 변환하기
반응형
convert string to wstring
유니코드 환경과 멀티바이 환경이 함께 동작하는 윈도우 환경에선 사용하는 경우에 따라 멀티바이트 스트링을 사용하기도 하고, 유니코드 스트링을 사용하기도 합니다.
이 때, std::string 을 이용하여 아주 간단하게 상호 변환이 가능합니다.
그냥 넣으면 안되나요??
네 안됩니다... 아래와 같이 에러가 납니다
그래서 아래와같은 정상적인 방법을 이용하여 컨버팅을 할 수 있습니다.
멀티바이트 -> 유니코드
{
std::string message_a = "convert before message";
std::wstring message_w;
message_w.assign(message_a.begin(), message_a.end());
wprintf(message_w.c_str());
}
유니코드 -> 멀티바이트
{
std::wstring message_w = L"convert before message";
std::string message_a;
message_a.assign(message_w.begin(), message_w.end());
printf(message_a.c_str());
}
한글, 유니코드 문자열등을 지원하기 위해선 다음 페이지를 참고해주세요
아주 간단하죠?
assign 이란 대입이라는 의미이며 std::string message = "assign message"와 동일한 기능입니다.
반응형
'⌨ DEVELOPMENT > C++' 카테고리의 다른 글
[C/C++] URL 전달을 위한 urlencode & urldecode (1) | 2019.07.11 |
---|---|
[C/C++] process crash 로그 및 덤프 남기기 (access violation) (0) | 2019.07.06 |
[C/C++] convert string, wstring, utf-8 (9) | 2019.07.06 |
[C/C++] 작업표시줄 아이콘 깜빡이게 하기 (FlashWIndow) (0) | 2019.07.03 |
[C/C++] DLL injection. 다른 Process에 내 DLL Load 하기 (5) | 2016.01.03 |
__cdecl, __stdcall, __fastcall x86 호출 규약(Calling Convention) (4) | 2016.01.01 |
[C/C++] FormatMessage 윈도우 GetLastError를 메시지로!! (0) | 2015.12.29 |
[C/C++] IPC - Pipe client simple example (0) | 2015.12.28 |
댓글
이 글 공유하기
다른 글
-
[C/C++] convert string, wstring, utf-8
[C/C++] convert string, wstring, utf-8
2019.07.06 -
[C/C++] 작업표시줄 아이콘 깜빡이게 하기 (FlashWIndow)
[C/C++] 작업표시줄 아이콘 깜빡이게 하기 (FlashWIndow)
2019.07.03 -
[C/C++] DLL injection. 다른 Process에 내 DLL Load 하기
[C/C++] DLL injection. 다른 Process에 내 DLL Load 하기
2016.01.03 -
__cdecl, __stdcall, __fastcall x86 호출 규약(Calling Convention)
__cdecl, __stdcall, __fastcall x86 호출 규약(Calling Convention)
2016.01.01