gpt4 book ai didi

C 停止刷新标准输出

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:08 25 4
gpt4 key购买 nike

我正在编写一个 C 程序,我在其中打印到 stderr 并在代码中使用 putchar()。我希望控制台上的输出显示所有 stderr,然后在程序结束前最终刷新 stdout。有谁知道在发生 putchar('\n') 时停止刷新标准输出的方法吗?

我想我可以做一个 if 语句来确保它不会 putchar 任何换行符,但我更喜欢将一些或多行代码放在程序的顶部以停止所有刷新,直到我说 fflush(stdout ) 在程序的底部

最佳答案

您尝试做的事情非常脆弱。在任何情况下,C 都没有规定 stdio 的实现不刷新输出。即使你让它为你工作,这种行为也将取决于不超过缓冲区大小。如果你真的需要这种行为,你应该自己缓冲输出(可能将其写入 tmpfile() 而不是 stdout),然后将其全部复制到 stdout 作为程序退出前的最后一步。

关于C 停止刷新标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com