Есть не-ascii текстовый файл. Нужно читать его и обрабатывать посимвольно (пусть, скажем, на каждый символ нужно вызвать iswalnum).
Вопрос следующий: как это вообще правильно делать?
Для начала, как определить кодировку файла? Автоматически определять не хочу, ибо это ненадежно и непредсказуемо. По текущей локали? Флаг коммандной строки для указания кодировки? Есть какая-нибудь принятая схема для CLI утилит для обработки текста? Хотя бы примеров дайте.
Второе: как собственно, читать посимвольно? Ну т.е. желательно читать кусками в буффер, а как потому извлекать оттуда по одному wchar_t? iconv - что-то вроде, но она работает с буфферами целиком, не побуквенно, и с байтами, а не wchar.