Как определить кодировку DOS
Надо читать из текстовых файлов, которые могут содержать русский текст
или ASCII (альтернативная DOS-кодировка, кодовая страница 866)
или ANSI (кодировка Windows, кодовая страница 1251).
Какая именно кодировка в конкретном файле заранее не известно.
Файлы содержат преимущественно английские и цифровые символы, русских очень мало, только несколько слов. Поэтому провести анализ (подсчитать число частовстречаемых букв о, р, п, а, как предлагает, например hCORe) нельзя.
OemToChar, естественно, делает нечитаемым русский ANSI
То же самое при парном использовании WideCharToMultiByte и MultiByteToWideChar (предложил lister)
Вообще-то можно выводить текст на экран и конвертировать по команде пользователя, но это как-то нехорошо.
Решение есть, не 100%, но довольно действенное
Смотрите ниже.