gpt4 book ai didi

c++ - Cout 和 Cerr 不同步

转载 作者:行者123 更新时间:2023-11-30 03:22:18 27 4
gpt4 key购买 nike

我在 C++ 中遇到输出问题。我有一个调用另一个函数 B 的函数 A。在函数 B 中出现错误时,我使用 cerr 打印一条错误消息。在函数 A 中,在调用 B 之后,我使用 cout 打印了一些行。

我的问题是错误消息随机打印在用 cout 打印的行之间,即使函数 B 在将控制权返回给函数 A 之前打印错误,所以它应该打印错误消息并且只有在这之后,它才应该将控制权返回给函数 A 并使用 cout 进行打印。

我正在使用 CLion 及其控制台。

有什么建议吗?

最佳答案

假设您使用的是单线程,您可能只需要在切换流之前刷新流。您可以使用 std::endl 写一个新行然后刷新,或者只调用 std::cout.flush() 显式刷新 stdout(和 std::cerr.flush() 以刷新标准错误)。

关于c++ - Cout 和 Cerr 不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264320/

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