\n
- символ линии (LF), код символа 10. \r
- символ возврата каретки (CR), код символа 13. Что они делают, отличается от системы к системе. В Windows, например, строки в текстовых файлах заканчиваются с использованием CR, за которым следует LF (например, CRLF). В системах Unix и их производных используется только LF. (Mac до Mac OS X используется CR, но Mac OS X является производным * nix и поэтому использует LF.)
В старые времена LF буквально выполнял только линейную подачу на принтеры (перемещение по одной линии без перемещения где вы горизонтально на странице), и CR аналогичным образом вернулась к началу строки без, перемещая бумагу вверх, поэтому некоторые системы (например, Windows) отправляют CR (возврат в левую сторону) и LF (и подайте бумагу вверх).
Из-за этой путаницы некоторые выходные цели будут принимать несколько последовательностей разрыва строки, чтобы вы могли видеть один и тот же эффект от любого символа в зависимости от того, что вы выводите.
@ T.J.Crowder: Не возражаете ли вы, чтобы сделать это различие более ясным? – Will
@Will: Я думал, что это было совершенно ясно, в первую очередь, но, по-видимому, не дали близких голосов. :-) Я добавил постскриптум. –