为什么有时换行符是“\ r \ n”而不是'\ n'?

时间:2012-09-12 09:04:23

标签: c# newline

  

可能重复:
  Difference between \n and \r?

在C / C ++中我习惯了换行符作为'\ n' 但当我到达C#时,它是“\ r \ n”,“\ n”或“\ r”不会自己写一个新行。

为什么? '\ r'和'\ n'之间有什么区别?

2 个答案:

答案 0 :(得分:2)

来自http://en.wikipedia.org/wiki/Newline

  • LF:Multics,Unix和类Unix系统( GNU / Linux Mac OS X FreeBSD ,AIX,Xenix等。),BeOS,Amiga,RISC OS等。
  • CR + LF: Microsoft Windows ,DEC TOPS-10,RT-11和大多数其他早期非Unix和非IBM操作系统,CP / M,MP / M,DOS(MS- DOS,PC-DOS等),Atari TOS,OS / 2,Symbian OS,Palm OS
  • LF + CR:Acorn BBC和RISC OS假脱机文本输出。
  • CR:Commodore 8位计算机,Acorn BBC,TRS-80,Apple II系列, Mac OS高达版本9 和OS-9
  • RS:QNX pre-POSIX实施。

CRLF旨在与所有其他人兼容。

以上都意味着换行。即使有人在历史的某个时刻有争论使用其中一个,原始意义也会丢失。

答案 1 :(得分:0)

它应该与C ++完全相同。

但是,某些Windows控件需要Carriage Return / Newline对而不仅仅是换行符。

\ n是换行符。 \ r \ n是回车符。