ホームページ >バックエンド開発 >C++ >C で Unicode 文字を印刷するにはどうすればよいですか?

C で Unicode 文字を印刷するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-12 20:24:13739ブラウズ

How Can I Print Unicode Characters in C  ?

C で Unicode 文字を出力する

C で Unicode 文字を出力するのは、気が遠くなる作業のように思えるかもしれません。ただし、概念を理解すれば、実際には非常に簡単です。

ロシア語の文字「ф」 (U 0444) を印刷するには、ユニバーサル文字名 (UCN) を使用できます。 UCN は、各 Unicode 文字に一意の識別子を割り当てます。たとえば、「ф」の UCN は「u0444」です。

UCN を使用して「ф」を出力する方法の例を次に示します。

#include <iostream>

int main() {
    std::cout << "\u0444" << std::endl;
}

ソース コードがその文字をサポートしている場合、文字のリテラル表現を使用することもできます:

#include <iostream>

int main() {
    char f = 'ф';
    std::cout << f << std::endl;
}

さらに、コンソールのエンコーディングがその文字をサポートしている場合は、標準出力ストリームを使用して直接印刷できます。

#include <iostream>

int main() {
    std::cout << "Hello, ф!" << std::endl;
}

Windows 環境では Unicode 文字の印刷が若干複雑になる場合があります。適切な表示を確保するには、UTF-16 データを受け入れるように出力ファイル ハンドルのモードを設定する必要がある場合があります。

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

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

移植可能なコードには別のアプローチが必要な場合があることに注意してください。

以上がC で Unicode 文字を印刷するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。