C++、C、Java中回车与换行的区别与联系
回车、换行平时简写为<CR>、<LF>,然而我们常提及到回车与换行却没有注意两者的具体区别。
具体来说操作系统不同,回车与换行的意义各不相同。
一、windows
- 01
回车(Carriage Return) 意义:回到当前行的行首而不会换到下一行,若要接着输出则会使本行以前的内容会被逐覆盖
- 02
换行(Line Feed) 意义:换到当前位置的下一行而不一定是回到行首
二、UNIX
- 01
在Unix系统中每行的结尾为“\n”
- 02
在Windows系统里面每行的结尾为“\r\n”
三、Mac系统
- 01
在Mac系统中每行的结尾为“\r”
- 02
故在Unix/Mac系统下的文件在Windows中打开时所有文字会变成一行
- 03
故Windows中的文件在Unix/Mac系统中打开时在每行的结尾可能会多出一个^M符号
四、简单的理解
- 01
可以按照下图的方式去体会两者的不同
五、C++程序中的说明
- 01
\r 会返回到本行的行首,并把这一行以前的输出都覆盖掉 例: int main() { cout << "come on baby" << "\r" << "gone" ; } 最后只显示 gone 而 come on baby被覆盖了,输出结果如下图
- 02
\n 是回车+换行 把光标先移到行首,然后换到下一行的行首部 int main() { cout << "come on baby" << "\n" << "gone" ; } 输出:come on baby gone
赞 (0)