楼上解释是正确的:endl比\n多了刷新缓冲区的作用
覆盖文字是如下方式做到的:
printf("\r"); // 返回到行首
printf(" "); // 写入若干空格,空格数目大于等于需覆盖字符串长度
printf("\r"); // 再次返回到行首,以待下次显示数据
上述三个步骤即可完成功能。
\n 是回车换行
回车换行:到下一行首列
\r 是回车(只回车没有换行 )
回车:回到本行首列(移动到本行首); 换行:到本列的下一行(行改变,列不变),
可以把后面输出的文字覆盖掉前面输出的文字
没有很大的区别啊
就是endl复杂一点
而\n简单
例如
cout < < "I love you!\n ";
与
cout < < " I love you! <
而上面的书写以来简便写
还有endl清空缓冲区,\n不清空,在回车且换行方面,两者完全一样。
可能是回车换行符的问题,但是在console程序上不应该出现这类问题的
你用的vs2010?