競プロ:utf8入力

デフォルトのロケールはCなのでUTF-8に変え、wcin, wcoutのロケールを変更する

locale::global(locale("ロケール名"));
wcout.imbue(std::locale("ロケール名"));
wcin.imbue(std::locale("ロケール名"));

yukicoderではja_JP.utf8、AtCoderではen_US.utf8が使える(シェルが使えるならlocale -aで調べられる)

ワイド文字列を扱うため、変換が必要

  • char → wchar_t
  • string → wstring
  • cin → wcin
  • cout → wcout
  • 文字列と文字にリテラルLをつける
  • 最終更新: 2021/02/04 14:26
  • by 127.0.0.1