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 サイトの他の関連記事を参照してください。