我有一个用ansi C编写的UNIX应用程序,它直接将数据写入文件。此文件由其中一个参数参数指定。
出于测试目的,我可以使用/ dev / null作为文件名,这有效地将输出重定向为空。
我希望能够通过类似的方法将输出重定向到stdout。这可能吗?如果是这样,怎么样?我试过以下没有运气:
a.out -f / dev / ttys000
(其中/ dev / ttys000是'w'列表指定的tty)
答案 0 :(得分:15)
/dev/stdout
答案 1 :(得分:2)
您可以检测字符串“stdout”参数,然后在C(1)中使用stdout文件句柄 http://en.wikipedia.org/wiki/File_descriptor
或者使用/ dev / stdout或/ dev / fd / 1
如果这是一个“内置”功能而不是用于测试的临时功能,您可能希望在stdout文件描述符而不是设备节点上使用C函数,因为C标准比POSIX标准imho。