禁用来自外部程序(C ++)控制台输出(Disable Console Output from Ex

2019-10-21 04:25发布

我的代码(一个简单的控制台应用程序)调用外部程序(也控制台应用程序)。 这个程序吐出很多东西到控制台,在批处理模式下使用10000次迭代运行时显著增加运行时间。

我试过几种方法来禁止输出:

  1. 重定向cout和CERR到FOUT - >显然适用于当前/本地程序禁用COUTS,但不会从外部.exe文件禁止任何东西。

  2. 一些人士建议系统(“CLS”),但文字显示后所有不清晰的画面。 这增加了更多的时间。

  3. 另一项建议是隐藏控制台窗口,但该程序仍写入隐藏控制台上,所以整个过程仍需要更多或更少的同一时间。

似乎唯一剩下的方法就是将外部程序的源代码里掏并禁用所有的写命令或重定向它来开发/ null或东西。

有没有一种方法来禁用程序的写入控制台命令,而无需修改源代码并重新编译?

非常感谢!

Answer 1:

system( "theExternalProgram >nul 2>nul" );


文章来源: Disable Console Output from External Program (C++)