stdout是经过缓冲处理的。写入stdout的数据不会立刻被写入终端(或其它设备,如果程序输出被重定向)除非缓冲区满、程序正常退出或stdout被关闭。你可以这样显式地刷新输出流:
fflush (stdout);
与stdout不同的是,stderr没有经过缓冲处理;输出到stderr的数据会直接被发送到终端。
所以这个程序并不会每一秒中输出一个句点,而是一次性输出10个句点。
这个程序则会每秒输出一个句点。
stdout是经过缓冲处理的。写入stdout的数据不会立刻被写入终端(或其它设备,如果程序输出被重定向)除非缓冲区满、程序正常退出或stdout被关闭。你可以这样显式地刷新输出流:
fflush (stdout);
与stdout不同的是,stderr没有经过缓冲处理;输出到stderr的数据会直接被发送到终端。
所以这个程序并不会每一秒中输出一个句点,而是一次性输出10个句点。
这个程序则会每秒输出一个句点。