目录
回车和换行
回车\r:'r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖。
换行\n:'n' 换行,换到当前位置的下一行,而不会回到行首。(满足回车/换行两种功能)
缓冲区
1 #include<stdio.h>
2 #include<unistd.h>//sleep
3 int main()
4 {
5 printf("hello linux,hello word");
6 sleep(3);
7 return 0;
8 }
1 #include<stdio.h>
2 #include<unistd.h>//sleep
3 int main()
4 {
5 printf("hello linux,hello word\n");
6 sleep(3);
7 return 0;
8 }
屏幕录制 2024-01-27 194734
执行上面两段代码(它们的区别是是否包含\n)
我们清晰的发现:
- 带有\n的就直接出现在了显示器(屏幕)上
- 没有带\n的程序结束之后才回显示在终端上
结论:包括\n在内的之前全部字符串全部刷新到我们的显示器上(行刷新)
刷新的方式:
- \n
- 缓冲区满了
- 程序结束
- 强制刷新fflush fflush(stdout)
- 头文件#include<unistd.h> //sleep所需要的头文件包含【Linux系统编程】Linux的系统库中的unistd.h头文件的作用-优快云博客
- fflush - C++ Reference (cplusplus.com)