在stdout行之后,为什么先打印stderr行?

问题描述

我有以下代码

#include <stdio.h>

int main(){

        printf("Hello,World!");

        fprintf(stderr,"%s","There's been an error.");

 }

当我在控制台中运行此命令时,我首先看到stderr(第7行),然后是stdout(第5行),即使顺序相反。我能找到的最接近答案是:Why is the STDOUT line printed after the STDERR line?,但这似乎是为了(a)perl,以及(b)在写入文件时缓冲stdout

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)