Привет.
Дела такие: программа читает файлы с диска, выводит какие-то их части в консоль, компилируется под линукс и винду, кодировка файлов постоянная (пусть будет ютф-8).
И вот как лучше это сделать - пока не до конца понял. Можно читать файлы, конвертировать в wchar_t, писать wchar_t в консоль (если не ошибаюсь, то wchar_t автоматом конвертнётся в кодировку локали), но как конвертировать utf-8 в wchar_t(codecvt умеет лишь char<->wchar_t)? Взять за внутреннюю кодировку utf-32/16? Но тогда как конвертировать в кодировку локали при печати в консоль? Хочется обойтись без препроцессорной #ifdef win … . Переключать из софтину кодировку консоли в винде? В общем, как правильно.