Windows和Linux之间的文件差异[关闭]
Posted
技术标签:
【中文标题】Windows和Linux之间的文件差异[关闭]【英文标题】:File difference between Windows and Linux [closed] 【发布时间】:2014-01-29 12:11:04 【问题描述】:我探索了一些程序的源代码并偶然发现:
// remove newlines and partial newlines to help fix issues with Windows formatted config files on Linux systems
Line.erase( remove( Line.begin( ), Line.end( ), '\r' ), Line.end( ) );
Line.erase( remove( Line.begin( ), Line.end( ), '\n' ), Line.end( ) );
什么意思?
【问题讨论】:
About newline in Wikipedia 一个简单的谷歌搜索会产生足够的响应。 【参考方案1】:物理上,不同的系统代表换行符
在文本文件中不同。这有时会导致
当文件在一个系统上写入时遇到困难,并且是
正在阅读另一个。在大多数情况下,以文本形式写入的文件
一个系统甚至无法在另一个系统上读取。这
主要的例外是 Windows 和 Unix(我认为还有 Mac OS,
甚至在它是 Unix 之前),但是;在所有这些系统上,
文件只是一个字节序列,每个系统,通过
约定,使用一个或两个字符的简单序列
表示行尾(或行分隔符——约定不是
在 Windows 下清除)。如果这些是唯一的目标系统
(对于很多程序来说都是如此),那么就有可能
读取文件,分成几行,但你可能会得到一些额外的
行中的字符(最常见的,以及额外的'\r\
在 Unix 下读取时,如果文件是
在 Windows 下编写)。您引用的代码只是试图
以极其谨慎的方式删除这些字符。
【讨论】:
【参考方案2】:以unix和windows结尾的行不同。这样做是为了使用以特定系统结尾的合适行。您可能会看到here 以了解行尾是什么。
【讨论】:
以上是关于Windows和Linux之间的文件差异[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
php require_once windows和linux之间的路径差异
Windows XP 和 Windows 7 之间注销通知事件的差异