如何将输出重定向到标准输出?

4

我有一个用ansi C编写的UNIX应用程序,可以直接将数据写入文件,这个文件由其中一个参数指定。

为了测试目的,我可以使用 /dev/null 作为文件名,将输出有效地重定向到空。

我想通过类似的方法将输出重定向到标准输出(stdout)。是否可能?如果可能,如何实现?我已尝试以下方法但没有成功:

a.out -f /dev/ttys000

(其中 /dev/ttys000 是通过 'w' 列表指定的tty)

2个回答

15

/dev/stdout


2
你可以检测参数中的字符串“stdout”,然后在C中使用标准输出文件句柄(1)http://en.wikipedia.org/wiki/File_descriptor 或者使用 /dev/stdout 或 /dev/fd/1
如果这是一个内置功能而不是临时的测试,你可能想要使用 stdout 文件描述符上的C函数,而不是设备节点,因为在我的看来,C标准比POSIX标准更加强健。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接