首頁 > 後端開發 > C++ > 如何在 C 中成功列印 Unicode 字元?

如何在 C 中成功列印 Unicode 字元?

Patricia Arquette
發布: 2024-12-09 20:28:12
原創
641 人瀏覽過

How Can I Successfully Print Unicode Characters in C  ?

在C 中打印Unicode 字符

嘗試打印Unicode 字符,例如俄語西里爾字母“ф”(U 0444),在C語言中可能具有挑戰性。本文探討如何使用 C 方法成功列印 Unicode 字元。

使用通用字元名稱 (UCN)

最直接的方法是使用通用字元名稱 (UCN) )。例如,字元“ф”的 Unicode 值為 U 0444。在 C 中,您可以將其表示為“u0444”或“U00000444”。

int main() {
    wchar_t f = '\u0444';
    cout << f << endl;
}
登入後複製

使用編碼

如果你的源碼編碼支援所需的字符,你可以直接在你的程式中使用它 代碼。例如,在 UTF-8 編碼中,字元「ф」是 'u0444'。

char b = '\u0444';
登入後複製

列印到終端模擬器

將 Unicode 字元列印到終端模擬器取決於模擬器的編碼以及與編譯器執行編碼的兼容性。如果它們匹配,則使用 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 中成功列印 Unicode 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板