使用C处理stdin

时间:2012-04-08 20:34:46

标签: c file file-io stdin io-redirection

我正在编写一个处理另一个程序输出的程序。

假设我的测试程序名为test,我想处理名为file的程序的stdout输出。

test中,我正在将stdin作为文件阅读,如下所示:

FILE *fp;
fp = fopen("/dev/stdin", "r");

当我在命令行中运行以下命令时,此方法有效:./file | ./test

但我想我想使用I / O重定向,所以:./file > ./test。我该如何处理C?

1 个答案:

答案 0 :(得分:3)

使用>的I / O重定向不适用于从一个程序到另一个程序的管道输出。它将输出从一个程序重定向到一个文件。命令

./file > ./test

运行程序file并创建包含test输出的文件file。它不运行名为test的程序,实际上如果它存在,它将覆盖一个。