C是否等效于自动刷新(每次写入后都刷新标准输出??)>

问题描述 投票:30回答:3

在Perl中,我可以输入:

$|++;

并且打印到STDOUT的所有内容都会自动进行fflush()。

C中是否有等价物?换句话说,是否有某种方法可以告诉stdio在每个printf()之后自动将stdout进行冲洗,即自动冲洗stderr的方法?

在Perl中,我可以输入:$ | ++;并且打印到STDOUT的所有内容都会自动进行fflush()处理。 C中是否有等效项?换句话说,有什么方法可以告诉stdio自动刷新...

c stdio
3个回答
39
投票

尝试setvbuf(stdout, NULL, _IONBF, 0)。它将stdout更改为无缓冲(_IONBF)模式。


14
投票

我还没有这样做,但是_IOLBF是正确的答案。


6
投票

看看setbuf()和setvbuf()。

© www.soinside.com 2019 - 2024. All rights reserved.