非Windows Windowsのコンソール出力と標準出力 標準IOストリームのモード コンソールのコードページ スクリーンバッファ 1. 素直に変換してstd::coutする 1.2 UTF-16に変換してstd::wcoutする 2. UTF-16に変換してWriteConsoleW()する 3. 標準出力をユニコードモードにする 4. コンソールのコードページを変更してUTF-8バイト列を直接流し込む 5. Boost.Nowideを使用する UTF-8の直接出力 in Windows 絵文字の表示 in Windows 検証環境 参考文献 謝辞 非Windows おそらくほとんどの場合、非Windows環境ではcharのエンコードがUTF-8なのでそのまま出力できるはずです。しかし、C++20では標準出力ストリームに対するchar8_t char16_t char32_tのoper