如何检查使用哪个操作系统创建文本文件?我有4个文本文件,它们来自Mac,Win,Linux和Dos。如果它们是混合的,如何检查哪个文件来自win,mac,linux和dos OS?我知道如何检查ifdefine和ech等宏,但如何从txt文件中检测?感谢
答案 0 :(得分:2)
一种方法是查看文件的行结尾。您可以区分Windows / DOS,Unix / Linux(包括Mac OS X)和Mac OS 9以及较低的行结尾。
这并不保证文件实际上是在这些平台上创建的,因为可以使用各种编辑器在任何现代操作系统上创建具有任何这些行结尾的文件,但是它可能足以满足您的需要。
有关更多信息,请参阅有关行结尾的Wiki文章:http://en.wikipedia.org/wiki/Newline
答案 1 :(得分:1)
没有将行结束约定与平台进行一对一映射。例如,GNU / Linux和Mac OS X都使用LF作为换行符。但作为经验法则:
您可以在此处找到广泛的平台列表及其行结尾约定:http://en.wikipedia.org/wiki/Newline