C에서 유니코드 문자 인쇄
키릴 문자 소문자 Ef(U 0444)와 같은 유니코드 값이 있는 문자를 인쇄하려고 할 때 , 다음 코드는 다음과 같이 작동하지 않을 수 있습니다 예상:
int main() { wchar_t f = '1060'; cout << f << endl; }
해결책:
유니코드 문자를 올바르게 인쇄하려면 다음과 같은 여러 가지 방법이 있습니다.
범용 문자 이름 (UCN):
리터럴 문자(소스에서 지원하는 경우) 인코딩):
의 경우 터미널 인쇄에서 다음 코드는 실행 인코딩과 터미널 에뮬레이터 간의 호환성을 가정합니다.
#include <iostream> int main() { std::cout << "Hello, ф or \u0444!\n"; }
Windows의 경우 UTF-16 모드에 대한 출력 파일 핸들을 권장합니다:
#include <iostream> #include <io.h> #include <fcntl.h> int main() { _setmode(_fileno(stdout), _O_U16TEXT); std::wcout << L"Hello, \u0444!\n"; }
이식 가능한 코드의 경우 다음 기술을 사용할 수 있습니다.
#include <iostream> #include <vector> int main() { std::vector<wchar_t> v = {0x444}; std::wcout.write((const wchar_t*)&v[0], 1); }
위 내용은 C에서 유니코드 문자를 올바르게 인쇄하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!