我正在编写一个程序来处理另一个程序的输出。
假设我的测试程序名为 test
,我想处理名为 file
的程序的 stdout 输出。
在 test
中,我将 stdin
读取为一个文件,如下所示:
FILE *fp;
fp = fopen("/dev/stdin", "r");
这在我在命令行中运行以下命令时有效:./file | ./测试
.
但我假设我想使用 I/O 重定向,所以:./file > ./test
。我如何在 C 中处理它?</p>
最佳答案
使用 >
进行 I/O 重定向不适用于将一个程序的输出通过管道传输到另一个程序。它将一个程序的输出重定向到一个文件。命令
./file > ./test
运行程序file
并创建一个新 文件 test
包含 file
的输出.它不运行名为 test
的程序, 事实上它会覆盖一个存在的。
关于c - 使用 C 处理标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066278/