【发布时间】:2015-07-22 06:26:01
【问题描述】:
我希望将输出到标准输出的所有内容也保存在我的 C 代码中的文件中。我知道我可以通过在命令行上调用进程并将其通过管道传输到文件来做到这一点:
myprogram.exe 1>logfile.txt
例如。但我想知道是否有办法从 C 代码本身中做到这一点。 printf() 家族中是否有一个函数可以同时输出到终端和具有相同参数的指定文件?
如果不是,编写我自己的 printf() 风格的函数需要什么语法,在其中调用 printf() 和 fprintf(),使用与 printf() 相同的参数风格?
【问题讨论】:
-
@JoachimPileborg,这是一个 C++ 解决方案。 OP 的问题被标记为 C。
-
看看the source code for tee。这可能会给你一些工作。
-
@RSahu 没关系,可变参数函数是一样的,在 C 中也是一样的。
-
感谢您的建议。我原则上熟悉可变参数函数,但从未使用过它们,所以我必须尝试一下。