Недавно у меня возникла проблема с переносом приложения Windows на Linux из-за разницы в размерах wchar_t
между этими платформами.Я пытался использовать переключатели компилятора, но были проблемы с печатью этих символов (я предполагаю, что GCC wcout
считает, что все wchar_t
являются 32-битными).
Итак, мой вопрос: есть ли хороший способ(w)cout
char16_t
?Я спрашиваю, потому что это не работает, я вынужден привести его к wchar_t
:
cout << (wchar_t) c;
Это не кажется большой проблемой, но меня это беспокоит.