Portaudio:在c中阻止打印到控制台

时间:2015-07-19 16:45:54

标签: c visual-studio-2013 portaudio

我正在使用外部库 - portaudio.h - 在我的项目中,其中一个函数pa_initialize()会向控制台输出大量信息性垃圾。

在我调试我的项目时它会有所帮助,但是当我提出它时会有问题。

我无法访问该库并进行编辑。

有没有办法阻止此特定功能或我的代码的特定部分打印到控制台?

我在Visual Studio 2013上用C语言写作。

3 个答案:

答案 0 :(得分:1)

好吧,在重新阅读portaudio documentation之后,我找到了解决方案。

他们确实提供了一种在构建项目时禁用调试打印的预定义方法,因此我不得不重建它,并且它有效。

应该从那里开始......

由于

答案 1 :(得分:0)

SQLContext可以写信给pa_initializestdout。您可以通过关闭它们来停用这些流。重新激活是问题,因为解决方案不是交叉编译器。以下为MinGW64工作:

stderr
  

Hello world!

     

再次问好!

对于MSVC,以下#include <stdio.h> int main(){ puts("Hello world!"); fclose(stdout); puts("Should not be printed."); freopen("CON", "w", stdout); puts("Hello again!"); return 0; } 的部分应该对您有意义:

stdio.h

答案 2 :(得分:-2)

您可以创建一个记录函数,该函数采用可以设置和取消设置的布尔标记。

例如

boolean printOnConsole= false;

void printLog(boolean flag, String data)
{

   if(flag)
          //print yor data on console
}