我编写了printf的实现 - myPrintf,它打印到stdout。 我想验证它是否正常工作。为了检查打印输出的相关性,我想将它与我希望得到的char进行比较。如何编写代码以将stdout重定向到缓冲区,而不是使用>。
我只能使用printf!
答案 0 :(得分:7)
您可以通过将couts
设置为已打开的文件来重定向rdbuf()
缓冲区。
奇怪,C ++,只有printf,但无论如何。
也可以在C中重定向stdout。
以下是一种方法:https://rydow.wordpress.com/2007/10/26/c-code-to-redirect-stdout/
涉及dup
和dup2
。
此选项(Rerouting stdin and stdout from C)也使用freopen
。