将标准输出重定向到缓冲区,不使用>

Redirect the stdout to buffer,not using >

本文关键字:gt 标准输出 重定向 缓冲区      更新时间:2023-10-16

我编写了printf - myPrintf的实现,它打印到标准输出。我想验证一下它是否能正常工作。为了检查打印输出的正确性,我想将其与我期望得到的char进行比较。如何编写代码将标准输出重定向到缓冲区,而不使用>.

我只能使用printf!

您可以通过将rdbuf()设置为您打开的文件来重定向couts缓冲区。

奇怪,c++只打印,但不管怎样。

也可以在c中重定向标准输出。

这里有一种方法:https://rydow.wordpress.com/2007/10/26/c-code-to-redirect-stdout/

涉及dupdup2

也有这个选项(从C重新路由标准输入和标准输出)使用freopen