#include <stdio.h>
#include <unistd.h>
int main (){
while(1){
fprintf (stdout,"hello-out");
fprintf (stderr,"hello-err");
sleep (1);
}
return 0;
}
好吧,我以为这会简单地打印, hello-out 然后 hello-err 休息一秒钟并再次打印这些文字,但是不,发生了一些奇怪的事情,它只是打印 hello-err 然后休息一秒钟并做同样的事情再次。为什么?
但是等等,然后我决定将它们打印在不同的行上,现在它可以工作了。
fprintf (stdout,"hello-out\n");
fprintf (stderr,"hello-err\n");
- - - - - 如同 - - - - - -
fprintf (stdout,"hello-out\n");
fprintf (stderr,"hello-err");
那么'\n'在这里的重要性是什么?这和潮红有关系吗?因为我读到 '\n' 用于冲洗。
并且还在标准输出上打印两个文字,不会产生任何输出:(
fprintf (stdout,"hello-out");
fprintf (stdout,"hello-err");
为什么?