Таким образом, используя системный командный файл, мы можем использовать файл, чтобы определить, является ли файл текстом ASCII или «данными». Я хотел знать, есть ли способ проверить код, который это был? Я хочу в основном выбросить коррумпированную ошибку, если файл является «данными». Я использую ifstream для чтения файлов. Спасибо за любую помощь!
Дубликат этот вопрос.





Вы можете перебирать байты файла и использовать std::isprint из <cchar>, чтобы проверить, доступен ли символ для печати. Если в файле есть непечатаемые символы, скорее всего, это двоичный файл. Обратите внимание, что это работает только для устаревших кодировок (например, упомянутого вами ASCII), но не для файлов в кодировке Unicode.