编程忽略计数
Programmatically Ignore Cout
本文关键字:编程 更新时间:2023-10-16
有没有人知道是否有一个技巧来切换所有的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";
为什么不希望重定向输出?如果是因为您希望保留其他输出,那么您可能就不太走运了。
如果只是为了避免在演示的终端上输入复杂的shell表达式,我建议编写一个启动脚本并在其中进行重定向。
那,或者重新打开stdout到/dev/null
附近的顶部。
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 模板元编程:如何将参数包组合成新的参数包
- Qt Q串行端口未编程设备未关闭
- 模板元编程 - 尝试实现维度分析
- 我是编程新手
- C++编程从外部文本文件定义数组大小
- 了解算法的性能差异(如果以不同的编程语言实现)
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 如何将可变参数模板转换为多个单个模板?(C++竞争编程调试模板)
- 使用命名空间正确编程
- C++编程:运算符重载中的引用如何工作?
- Arduino 模块化编程与全局和设置
- C++ 运算符修改/元编程策略,用于不那么冗长的语法
- 在没有管理员权限的情况下,在 c++ 中以编程方式将程序添加到启动
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 试图修复一个错误,该错误不会让我开始编程其余部分
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- Frank Luna 在他的书"使用 DirectX12 进行 3D 游戏编程"的介绍中盒子示例的问题
- 如何使用可变参数模板类使用模板元编程获得最大值