반응형



Visual Studio 2017에서 C++ 언어의 cout 함수를 사용하여 한글 출력하는 콘솔 응용 프로그램을 작성시 발생하는 문제점과 해결 방법을 설명하고 있습니다.




테스트 환경은 다음과 같습니다.


Windows 10 Pro 64 비트


Visual Studio Community 2017 




Visual Studio 2017에서 Win32 콘솔 응용 프로그램 프로젝트를 생성해서 



다음 코드를 사용해서  cout 함수printf 함수로 똑같이  한글 문자열을 출력해보면 결과가 다릅니다. 

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "프로그래밍\n";
 
    printf("프로그래밍\n");
 
    return 0;
}
cs



..

..

cout 함수의 경우에는 결과 화면의 첫번째 줄처럼 글자 사이에 빈칸이 하나씩 들어갑니다.
printf 함수의 경우에는 결과 화면의 두번째 줄처럼 정상적으로 출력됩니다.



http://stackoverflow.com/a/35576741 에 나온 해결 방법대로 

기존 코드에 붉은색 줄들을 추가해주고 실행시켜보면 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <windows.h>
 
using namespace std;
 
#pragma execution_character_set( "utf-8" )
 
int main()
{
    SetConsoleOutputCP(65001);
 
    cout << "프로그래밍\n";
 
    printf("프로그래밍\n");
 
    return 0;
}
cs




cout 함수의 출력인 결과인 화면의 첫번째 줄도 정상적으로 출력되는 것을 볼 수 있습니다.





반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

+ Recent posts