C++、C、Java中回车与换行的区别与联系

2024-11-04 02:30:48

回车、换行平时简写为<CR>、<LF>,然而我们常提及到回车与换行却没有注意两者的具体区别。具体来说操作系统不同,回车与换行的意义各不相同。

C++、C、Java中回车与换行的区别与联系

工具/原料

暂无

一、windows

1、回车(Carriage Return)意义:回到当前行的行首而不会换到下一行,若要接着输出则会使本行以前的内容会被逐覆盖

C++、C、Java中回车与换行的区别与联系

2、换行(Line Feed)意义:换到当前位置的下一行而不一定是回到行首

二、UNIX

1、在Unix系统中每行的结尾为“\n”

C++、C、Java中回车与换行的区别与联系

2、在Windows系统里面每行的结尾为“\r\n”

三、Mac系统

1、在Mac系统中每行的结尾为“\r”

C++、C、Java中回车与换行的区别与联系

2、故在Unix/Mac系统下的文件在Windows中打开时所有文字会变成一行

3、故Windows中的文件在Unix/Mac系统中打开时在每行的结尾可能会多出一个^M符号

四、简单的理解

1、可以按照下图的方式去体会两者的不同

C++、C、Java中回车与换行的区别与联系

五、C++程序中的说明

1、\r 会返回到本行的行首,并把这一行以前的输出都覆盖掉例:int main(){cout 争犸禀淫<< "come on baby" << "\r" << "gone" ;}最后只显示 gone 而 come on baby被覆盖了,输出结果如下图

C++、C、Java中回车与换行的区别与联系

2、\n 是回车+换行把光标先移到行首,然后换到下一行的行首部int main(){cout 争犸禀淫<< "come on baby" << "\n" << "gone" ;}输出:come on babygone

C++、C、Java中回车与换行的区别与联系
猜你喜欢