이 영역을 누르면 첫 페이지로 이동
웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

페이지 맨 위로 올라가기

[C++] std::string to std::wstring 서로 변환하기

웬디의 기묘한 이야기

[C++] std::string to std::wstring 서로 변환하기

  • 2016.01.31 23:31
  • ⌨ DEVELOPMENT/C++
반응형

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());
}


한글, 유니코드 문자열등을 지원하기 위해선 다음 페이지를 참고해주세요

https://wendys.tistory.com/84

 

[C/C++] convert string, wstring, utf-8

convert ansi string to unicode string and utf-8 string c/c++에서 ansi string과 unicode string, utf-8 string을 상호 변환하기 위해서는 간단한 대입으로는 불가능합니다. 예전에 소개해드렸던 std::string.a..

wendys.tistory.com

아주 간단하죠?


assign 이란 대입이라는 의미이며 std::string message = "assign message"와 동일한 기능입니다.




반응형
이 글은 (새창열림) 본 저작자 표시, 비영리, 동일 조건 변경 허락 규칙 하에 배포할 수 있습니다. 자세한 내용은 Creative Commons 라이선스를 확인하세요.
본 저작자 표시
비영리
동일 조건 변경 허락

'⌨ 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

댓글

댓글을 사용할 수 없습니다.

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [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
다른 글 더 둘러보기

정보

웬디의 기묘한 이야기 블로그의 첫 페이지로 이동

웬디의 기묘한 이야기

  • 웬디의 기묘한 이야기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 이야기

카테고리

  • 분류 전체보기 (204)
    • MY STORY (2)
    • 📸 WALKING WITH YOU (85)
      • 아이슬란드 신혼여행 이야기 (14)
      • 대한민국 구석구석 (62)
      • CONTAX N1 + T* 28-80mm (4)
      • SAMSUNG NX3000 (1)
      • 어느 멋진 날 (4)
    • ⌨ DEVELOPMENT (80)
      • BOOK:Review (1)
      • AI (13)
      • C++ (26)
      • Python (10)
      • WIndows Hooking (9)
      • Windows Kernel (3)
      • Design Pattern (3)
      • Debugging (9)
      • Tools (0)
      • Project (1)
      • Android (1)
      • 상업용 무료폰트 (4)
    • OS (4)
      • News (0)
      • Windows 일반 (4)
    • 모바일 (2)
      • 모바일 게임 (2)
    • 멘사 퍼즐 (9)
    • 생활 꿀 TIP (7)
      • 건강 (3)
      • 일상 (2)
    • 물생활 (8)
      • 골든볼 라미네지 롱핀 (8)
    • IT 기기 (2)
    • BLOG (4)
      • TISTORY BLOG TIP (3)

인기 글

공지사항

태그

  • c
  • 해외여행
  • 신혼여행
  • 아이슬란드
  • windbg
  • c++
  • AI
  • 카페

나의 외부 링크

  • kernel undocument api
  • 지구 관찰자의 일기
  • 지구와 지구곰

정보

WENDYS의 웬디의 기묘한 이야기

웬디의 기묘한 이야기

WENDYS

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © WENDYS. Designed by Fraccino.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.