gpt4 book ai didi

c - 如何在c中捕获所有输出文本

转载 作者:行者123 更新时间:2023-12-01 13:57:50 25 4
gpt4 key购买 nike

这是我的问题。我正在为一个 C 语言的项目编写单元测试类。单元测试类工作得很好,但它正在测试的方法之一调用 API 中的方法来与硬件进行通信。由于硬件的封闭软件,我真的没有办法让它在我运行测试时运行,而且由于测试的黑盒性质,我不需要这样做。

这些调用只是发送到硬件的 char* 消息,在运行我的测试时,我只得到大量“无法与 API 通信”的打印输出。我假设这是对 API 部分的某种错误检查。

我的问题是,为了获得漂亮的输出,在这种情况下是否可以捕捉、抑制或检查所有进入终端的文本。(这就是输出流吧?我对 C 还很陌生)

最佳答案

如果您正在链接生成这些消息的代码,您还可以考虑在标准输出(或标准错误)上调用 freopen()。不幸的是,您将重定向所有程序的输出。

可能保留原始标准输出的句柄,创建管道,调用 freopen() 将标准输出重定向到管道的一侧,并从另一侧读取线程,过滤输出并将“好的”消息传递到原始标准输出。

关于c - 如何在c中捕获所有输出文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408585/

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