【问题标题】:why is it sometimes the newline character is "\r\n" instead of just '\n'? [duplicate]为什么有时换行符是“\r\n”而不是“\n”? [复制]
【发布时间】:2012-09-05 06:23:45
【问题描述】:

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

在 C/C++ 中,我习惯了换行符为 '\n' 但是当我进入 C# 时,它是 "\r\n"、'\n' 或 '\r' 不要自己写一个新行。

这是为什么呢? '\r' 和 '\n' 有什么区别?

【问题讨论】:

  • 另外,你应该使用System.Environment.NewLine
  • @Filp:如果你想在 Windows 上使用 "\r\n" 或在 Unix 上使用 "\n",你应该使用 System.Environment.NewLine。如果你只想要“\n”,你必须使用“\n”。

标签: c# newline


【解决方案1】:

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

  • LF:Multics、Unix 和类 Unix 系统(GNU/LinuxMac OS XFreeBSD、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 旨在与所有其他兼容。

以上都表示换行符。在历史的某个时刻,即使有人争论使用其中一种,原始含义也丢失了。

【讨论】:

    【解决方案2】:

    应该和C++完全一样。

    但是,某些 Windows 控件需要回车/换行对,而不仅仅是换行。

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

    【讨论】:

      猜你喜欢
      • 2016-06-23
      • 2010-12-20
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多