ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C++ wprintf 함수 유니코드 한글 문자열 출력하기
    C++ 2020. 1. 10. 21:43

    유니코드 문자열 출력 함수인 wprintf로 한글을 출력해보면 한글이 제대로 출력되지 않는다.

    하기의 소스를 실행해보고 결과를 확인해보자

     

    main.cpp

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
     
    int main() {
        char* a = "멀티바이트 출력\n";
        wchar_t* b = L"유니코드 출력\n";
     
        printf(a);
        wprintf(b);
    }
    cs

     

    결과

    wchar_t자료형으로 선언한 변수가 출력되지 않았다.

    wprintf는 지역설정에 영향을 받는 함수라서 그렇다.

    하기와 같이 지역 설정을 해주면 제대로 출력된다.

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdio.h>
    #include <locale.h>
     
    int main() {
        _wsetlocale(LC_ALL, L"korean");
        char* a = "멀티바이트 출력\n";
        wchar_t* b = L"유니코드 출력\n";
     
        printf(a);
        wprintf(b);
    }
    cs

     

    'C++' 카테고리의 다른 글

    C언어 - 증가값이 1씩 증가하는 수열  (0) 2020.10.09
    C++ 유니코드 멀티바이트 함수 매핑 정리  (0) 2020.01.10

    댓글

Designed by Tistory.