gpt4 book ai didi

c++ - 以编程方式忽略 Cout

转载 作者:可可西里 更新时间:2023-11-01 15:47:48 26 4
gpt4 key购买 nike

有人知道是否有切换所有 cout << 的技巧吗?不打印可见输出的功能?我正在尝试将我和其他一些人编写的一些代码拼凑在一起以进行演示。我宁愿不将输出重定向到文件,而是想要一个在 Windows 和 Linux 之间具有一定兼容性的解决方案。

在我的场景中,我有很多行代码,其中包含各种 #defines控制某些方法何时产生调试输出。我想调用类似的东西:

cout.off();
driverForAffectA();
driverForAffectB();
cout.on();
printSpecializedDebug();
exit(0);

最佳答案

您可以更改 cout 的流缓冲区。

streambuf *old = cout.rdbuf();
cout.rdbuf(0);
cout << "Hidden text!\n";
cout.rdbuf(old);
cout << "Visible text!\n";

编辑:

感谢 John Flatness 的评论,您可以稍微缩短代码:

streambuf *old = cout.rdbuf(0);
cout << "Hidden text!\n";
cout.rdbuf(old);
cout << "Visible text!\n";

关于c++ - 以编程方式忽略 Cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721026/

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