C での Unicode 文字の印刷
キリル小文字 Ef (U 0444) などの Unicode 値を持つ文字を印刷しようとする場合、次のコードは機能しない可能性があります期待値:
int main() { wchar_t f = '1060'; cout << f << endl; }
解決策:
Unicode 文字を正しく印刷するには、いくつかの方法があります:
ユニバーサルキャラクター名(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 で Unicode 文字を正しく出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。