可能重复:
\r和\n有什么区别?
我知道它对于每个操作系统都不同,例如,在Windows中可能期望"\r\n",在Unix中可能期望"\n",在Macs中可能期望"\r"。
这两个(或三个,如果你想包括"\r\n")转义序列之间有什么区别?为什么它不能在所有系统中保持一致?
我很好奇这个问题。
可能重复:
\r和\n有什么区别?
我知道它对于每个操作系统都不同,例如,在Windows中可能期望"\r\n",在Unix中可能期望"\n",在Macs中可能期望"\r"。
这两个(或三个,如果你想包括"\r\n")转义序列之间有什么区别?为什么它不能在所有系统中保持一致?
我很好奇这个问题。
'\r'和'\n'的区别是3。
因为它本来就不是这样。
\r
代表"回车"。
\n
代表"新行" 换行符。
有些系统足够聪明,只需要 \n
就可以将光标移到新行。而其他一些系统认为使用 \r\n
更合适,因为它们可能会声称需要重置列位置(即 \r
)。
在计算机领域中有时候事情“就是这样”。这就是其中之一 :)
\n
确实表示新行。大多数实现使用换行符作为 \n
的方式只是一种实现细节。 - Adrian McCarthy\n
并不一定意味着换行符。这取决于上下文。在C和C++中,它用于在文本模式下进行I/O时表示新行。大多数实现使用换行符来表示它,但这是一个实现细节。符合规范的实现可以使用类似于U+0085 NEXT LINE
的东西。 - Adrian McCarthy有些系统甚至没有换行符的概念。VAX/VMS和IBM VM操作系统都支持基于记录的文件,不需要使用换行标记。
\r
和\n
的含义。这是一个显著不同之处(正如两个问题的已接受答案所反映的那样)。 - Adrian McCarthy