我正在编写一个处理另一个程序输出的程序。
假设我的测试程序名为test
,我想处理名为file
的程序的stdout输出。
在test
中,我正在将stdin
作为文件阅读,如下所示:
FILE *fp;
fp = fopen("/dev/stdin", "r");
当我在命令行中运行以下命令时,此方法有效:./file | ./test
。
但我想我想使用I / O重定向,所以:./file > ./test
。我该如何处理C?
答案 0 :(得分:3)
使用>
的I / O重定向不适用于从一个程序到另一个程序的管道输出。它将输出从一个程序重定向到一个文件。命令
./file > ./test
运行程序file
并创建包含test
输出的新文件file
。它不运行名为test
的程序,实际上如果它存在,它将覆盖一个。