>  기사  >  백엔드 개발  >  C를 사용하여 Windows 콘솔에 유니코드 문자를 올바르게 출력하는 방법은 무엇입니까?

C를 사용하여 Windows 콘솔에 유니코드 문자를 올바르게 출력하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-27 04:56:09253검색

How to Properly Output Unicode Characters to the Windows Console Using C  ?

C를 사용하여 Windows에서 유니코드 문자를 콘솔에 출력하는 방법

std::cout을 사용하여 유니코드 문자를 콘솔에 출력하려고 할 때, 원하는 유니코드 표현 대신 왜곡된 문자가 나타날 수 있습니다. 이는 Windows 콘솔이 기본적으로 유니코드 출력을 지원하지 않기 때문입니다.

이 문제를 해결하려면 std::cout 대신 와이드 문자 출력 스트림 std::wcout을 사용해야 합니다. std::wcout은 유니코드 문자의 출력을 올바르게 처리합니다.

#include <iostream>

int main() {
    std::wcout << L"Hello World!" << std::endl;
    return 0;
}

그러나 Windows 명령 프롬프트는 기본적으로 유니코드 출력을 지원하지 않는다는 점에 유의하는 것이 중요합니다. 유니코드 지원을 활성화하려면 다음 방법 중 하나를 사용할 수 있습니다.

  • /u 인수로 cmd를 시작합니다.
  • chcp 65001을 호출하여 출력 형식을 변경합니다.
  • Lucida Console과 같은 콘솔에서 유니코드 글꼴 설정 유니코드.

fcntl.h 및 io.h를 포함해야 하는 _setmode(_fileno(stdout), _O_U16TEXT);를 사용해 볼 수도 있습니다. 이 접근 방식을 활용하면 유니코드 출력을 처리하도록 콘솔을 수동으로 구성할 수 있습니다.

위 내용은 C를 사용하여 Windows 콘솔에 유니코드 문자를 올바르게 출력하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.