printf默认是输出到标准输出,而标准输出默认使用的是行缓冲。
在sleep之前fflush(stdout)强制刷缓冲,或者在程序开始使用setbuf(stdout, NULL)禁用缓冲
当然,假如你有足够的耐心,大约过几个小时后,缓冲区终于满了,你会看到效果的。
本文介绍了printf函数输出到标准输出时使用的行缓冲机制,并提供了两种解决因缓冲而导致输出延迟的方法:一是使用fflush(stdout)强制刷新缓冲;二是通过setbuf(stdout,NULL)禁用缓冲。文章还幽默地提到如果等待缓冲区自动满溢则需要数小时之久。
在sleep之前fflush(stdout)强制刷缓冲,或者在程序开始使用setbuf(stdout, NULL)禁用缓冲
当然,假如你有足够的耐心,大约过几个小时后,缓冲区终于满了,你会看到效果的。
2566

被折叠的 条评论
为什么被折叠?