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

标签 c++ printf

我正在使用某人的库,当与设备的连接不成功时,printf 会输出一条错误消息。 连接成功时,库代码不打印任何内容。

我定期检查(循环和 sleep )以查看设备是否已连接,但我只想在连接时打印出来。

此刻我得到类似的东西:

Waiting for connection... (<-- My print)
Error
Error
Error
Error
Error
Connection successful (<-- My print)

我想要的是:

Waiting for connection... (<-- My print)
Connection successful (<-- My print)

如何以编程方式忽略 printf?

注意我发现了一个类似的问题Programmatically Ignore Cout但该解决方案不适用于 printf。

我使用的是 Windows。

有人可以帮忙吗? (c/c++新手)

最佳答案

您是否尝试过类似的操作(在建立连接之前):

FILE * myout = stdout;
stdout = fopen ("standard-output-file", "w");

要打印一些东西输出你可以使用:

fprintf(myout, "format", ...);

编辑:记得之后关闭文件描述符:

fclose(myout);

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

相关文章:

c++ - COM 错误 : Class not registered (I'm sure it is)

c++ - asm.js 规范中提到的 c/c++ 虚拟机是什么

awk - 使用awk printf对文本进行URL解码

java - 线程 "main"java.util.IllegalFormatConversionException 中出现异常

c - 仅打印时值是否四舍五入?

c++ - 局部作用域变量是初始化为未确定的值,还是未初始化?

c++ - 错误代码 1024 tftp 服务器

variables - 在 MATLAB 中使用 sprintf 显示变量的小数

c - snprintf 中的 strlen 调用是否导致此段错误?

c++ - 如果 cout.rdbuf() 用于切换缓冲区并且从不将其设置回去,会出现什么问题?