char16_t Printing

Недавно у меня возникла проблема с переносом приложения Windows на Linux из-за разницы в размере wchar_t между этими платформами. Я попытался использовать переключатели компилятора, но возникли проблемы с печатью этих символов (я предполагаю, что GCC wcout считает, что все wchar_t 32-битные).

Итак, мой вопрос: это есть хороший способ (w) cout char16_t ? Я спрашиваю, потому что не работает, Я вынужден преобразовать его в wchar_t :

cout << (wchar_t) c;

Это не кажется большой проблемой, но меня это беспокоит.

11
задан Marc Mutz - mmutz 19 June 2012 в 20:59
поделиться