测试
我们以Linux的printf
命令来测试:
$ printf "123\n"
123
$ printf "123\r\n"
123
$ printf "123"
123$ ^C
$ printf "123\r"
$ printf "123\r\r\n"
123
分析
printf "123"
输出"123",没有换行。printf "123\n"
输出"123",换到下一行。printf "123\r"
没有输出!因为单个回车\r
的意义是回到行首,所以把"123"覆盖了,我们看不见。printf "123\r\n"
现象和printf "123\n"
似乎是一样的。但是要注意区别:这是先回车(回到本行行首),再换行,就是回到下一行。所以,现象是一样的。printf "123\r\r\n"
现象和printf "123\r\n"
、printf "123\n"
是一样的。因为回车两次(结果还是回到本行行首),再换行,现象自然是一样的。
不同系统的文本换行
系统 | 文本换行 |
---|---|
Linux/Unix | \n |
Windows | \r\n |
Mac OS | \r |