C++语言中尀n和endl的区别,还有看到用尀n有种情况是输出时会覆盖掉尀n前面的文字,如何做到?

2025-02-23 13:53:07
推荐回答(4个)
回答1:

楼上解释是正确的:endl比\n多了刷新缓冲区的作用

覆盖文字是如下方式做到的:
printf("\r"); // 返回到行首
printf(" "); // 写入若干空格,空格数目大于等于需覆盖字符串长度
printf("\r"); // 再次返回到行首,以待下次显示数据
上述三个步骤即可完成功能。

回答2:

\n 是回车换行
回车换行:到下一行首列

\r 是回车(只回车没有换行 )
回车:回到本行首列(移动到本行首); 换行:到本列的下一行(行改变,列不变),
可以把后面输出的文字覆盖掉前面输出的文字

回答3:

没有很大的区别啊
就是endl复杂一点
而\n简单
例如
cout < < "I love you!\n ";

cout < < " I love you! < 效果一样
而上面的书写以来简便写
还有endl清空缓冲区,\n不清空,在回车且换行方面,两者完全一样。

回答4:

可能是回车换行符的问题,但是在console程序上不应该出现这类问题的
你用的vs2010?