ホームページ  >  記事  >  バックエンド開発  >  C を使用して Unicode 文字を Windows コンソールに正しく出力する方法

C を使用して Unicode 文字を 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 で Unicode 文字をコンソールに出力する方法

std::cout を使用して Unicode 文字をコンソールに出力しようとすると、必要な Unicode 表現ではなく、歪んだ文字が表示される場合があります。これは、Windows コンソールがデフォルトで Unicode 出力をサポートしていないためです。

この問題を解決するには、std::cout の代わりにワイド文字出力ストリーム std::wcout を使用する必要があります。 std::wcout は Unicode 文字の出力を正しく処理します。

#include <iostream>

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

ただし、Windows コマンド プロンプトは Unicode 出力をネイティブにサポートしていないことに注意することが重要です。 Unicode サポートを有効にするには、次のいずれかの方法を使用できます:

  • /u 引数を指定して cmd を開始します。
  • chcp 65001 を呼び出して出力形式を変更します。
  • Lucida Console などのコンソールで Unicode フォントを設定するUnicode.

_setmode(_fileno(stdout), _O_U16TEXT); を使用してみることもできますが、これには fcntl.h と io.h を含める必要があります。このアプローチを利用すると、Unicode 出力を処理するようにコンソールを手動で構成できます。

以上がC を使用して Unicode 文字を Windows コンソールに正しく出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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