c - 为什么我在使用睡眠功能时需要在 c 中使用“\n”?
问题描述
我的代码:
#include <stdio.h>
#include <unistd.h>
int main(){
printf("I sleep\n");
sleep(3);
printf("\033[H\033[J");
return 0;
}
如果我不在 printf 函数中写“\n”,则不会显示“I sleep”,直到 sleep(3) 完成。
有人可以解释吗?谢谢!
解决方案
标准输出流,当不输出到文件或设备时,在大多数类 UNIX 系统上默认是行缓冲的。
这意味着在遇到换行符之前,通常不会实际打印发送到那里的文本。
推荐阅读
- git - Git可以使用独占结账吗?
- python - 尝试扩展行数据并转换为 DataFrame,出现此错误:AttributeError: 'float' object has no attribute 'keys'
- java - Kotlin 协程重复调用 Log.e 语句并在 ViewmodelScope 中崩溃应用程序
- python - FreeBusy 无法在 Python 中使用 Outlook
- python - POO - 无法将可迭代的长度作为列表获取
- c++ - 无法将字符串转换为 int c++
- macos - Ping 特定 IP 范围在 Mac 中不起作用
- typescript - 不明白为什么我无法访问 TypeScript 中的对象数组中的属性
- react-native - 如何在本机反应中旋转 Fontisto 图标
- html - 当我在线托管页面时,表单 html 不安全