>백엔드 개발 >C++ >C에서 유니코드 문자를 성공적으로 인쇄하려면 어떻게 해야 합니까?

C에서 유니코드 문자를 성공적으로 인쇄하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 20:28:12642검색

How Can I Successfully Print Unicode Characters in C  ?

C에서 유니코드 문자 인쇄

러시아 키릴 문자 "ф"(U 0444)와 같은 유니코드 문자 인쇄 시도, C에서는 어려울 수 있습니다. 이 문서에서는 C 메서드를 사용하여 유니코드 문자를 성공적으로 인쇄하는 방법을 살펴봅니다.

UCN(범용 문자 이름) 사용

가장 간단한 방법은 UCN(범용 문자 이름)을 사용하는 것입니다. ). 예를 들어 문자 "ф"의 유니코드 값은 U 0444입니다. C에서는 이를 "u0444" 또는 "U00000444"로 나타낼 수 있습니다.

int main() {
    wchar_t f = '\u0444';
    cout << f << endl;
}

인코딩 사용

소스 코드 인코딩이 원하는 문자를 지원하는 경우 코드에서 직접 사용할 수 있습니다. 예를 들어, UTF-8 인코딩에서 "ф" 문자는 'u0444'입니다.

char b = '\u0444';

터미널 에뮬레이터로 인쇄

유니코드 문자를 터미널로 인쇄 에뮬레이터는 에뮬레이터의 인코딩 및 컴파일러의 실행 인코딩과의 호환성에 따라 달라집니다. 일치하는 경우 std::cout을 사용하는 것으로 충분합니다.

int main() {
    std::cout << "Hello, ф or \u0444!\n";
}

Windows 관련 사항 처리

Windows 작업에는 추가 고려 사항이 필요합니다. 한 가지 접근 방식은 _setmode()를 사용하여 출력 파일 핸들을 UTF-16으로 설정하는 것입니다.

#include <iostream>
#include <io.h>
#include <fcntl.h>

int main() {
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L"Hello, \u0444!\n";
}

또는 이식성을 위해 와이드 문자열(wchar_t)을 사용하고 와이드 스트림(std:: wcout)에서 직접

int main() {
    wchar_t f = L'\u0444'; // Prepend L to denote wide char literal
    wcout << f << endl;
}

위 내용은 C에서 유니코드 문자를 성공적으로 인쇄하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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