当前位置: 代码迷 >> 综合 >> printf 到终端,总是等到缓冲区满或是程序结束,再会输出到终端,找个解决的办法
  详细解决方案

printf 到终端,总是等到缓冲区满或是程序结束,再会输出到终端,找个解决的办法

热度:52   发布时间:2023-12-09 13:48:10.0

先看下面一段代码:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>int main(){int fd = open("/home/lrao/test", O_CREAT | O_RDWR | O_APPEND,S_IRWXU|S_IRWXG|S_IRWXO) ;close(1) ;int w = dup(fd) ;printf("hello");write(fd,"\r\nwrite\r\n",9);close(fd);return 0;
}
ca t/home/lrao/test 查看内容如下:
<空行>

write
hello

会有这样的现象,printf先运行,后写入


  相关解决方案