Вот упрощенная версия моей проблемы: у меня есть два текстовых файла, разные данные, но идентичные первой строке и сгенерированные одной и той же программой, хотя возможно и на разных ОС. Когда emacs читает один из них, он говорит, что он находится в формате DOS, а при чтении другой - нет.Emacs, hex editor и определение того, что текстовый файл находится в формате DOS
Я использовал несколько Hex-редакторов (Bless, GHex, OKTeta на Kubuntu), и на всех из них я вижу то же самое, что каждая строка заканчивается последовательностью OD OA (CR LF) для обоих файлов, включая Последняя линия.
Итак, мой вопрос: как emacs определяют, что такое файл DOS, а что нет, и есть ли что-то еще в файле, который редактор Hex не будет показывать или добавить?
Оба файла имеют одинаковое имя в разных каталогах. Также я столкнулся с этой проблемой, потому что у меня есть код на C++, который анализирует строки и не работает в файле, который emacs перечисляет как DOS, поэтому проблема действительно связана с содержимым файла.
Последнее примечание: вы заметите, что нет тегов C/C++. Я не ищу совета о том, как изменить свой код на C++, чтобы справиться с ситуацией. Я знаю, как это сделать.
Спасибо за вашу помощь
Что значит «он говорит, что это в формате DOS»? Как вы это видите? –
Вы на 100% уверены, что внутри файла, отличного от DOS, * все * вхождения CR и LF находятся внутри пар CRLF? Если одна строка отклоняется, Emacs рассмотрит файл как Unix, чтобы избежать потери данных. – user4815162342
@OlegPavliv: Строка состояния (я считаю, что это то, что она называется, внизу, чуть выше строки, где вы вводите свои команды) будет отображаться, начиная с самого левого: - (DOS) --- MyFilename. .. – Alain