デフォルトのロケールは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をつける