Как проверить, какая из операционных систем использовалась при создании текстового файла? У меня есть 4 текстовых файла, и они из Mac, Win, Linux и Dos. Как проверить, какие файлы из Win, Mac, Linux и DOS OS, если они смешаны? Я знаю, как проверить с помощью макросов, как ifdefine и ech, но как определить из файла txt? Спасибо
Один из подходов заключается в просмотре концов строк для файлов. Вы можете различить Windows / DOS, Unix / Linux (включая Mac OS X) и Mac OS 9 и окончания строк.
Это не дает никакой гарантии, что файлы действительно были созданы на этих платформах, поскольку можно создавать файлы с любым из этих концов строк в любой современной ОС, используя различные редакторы, однако этого может быть достаточно для ваших целей.
Для получения дополнительной информации см. Статью Wiki об окончаниях строк: http://en.wikipedia.org/wiki/Newline
Не существует однозначного сопоставления соглашений о конце строки с платформами. Например, GNU / Linux и Mac OS X оба используют LF в качестве символа новой строки. Но как правило:
Вы можете найти обширный список платформ и их соглашения о конце строки здесь: http://en.wikipedia.org/wiki/Newline