c - 使用 C 处理标准输入

标签 c file file-io stdin io-redirection

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

假设我的测试程序名为 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/

相关文章:

java - 获取文本文件中的每 n 行哪个更有效?使用 Java 的 BufferedReader 进行迭代,或者拆分成子文件然后获取每个子文件的顶行?

objective-c - iPhone/Objective-C : Can't delete a file

java 。将字符串附加到文件,以奇怪的输出结束

c++ - 内核驱动程序读取内存未发送整个字符串

javascript - 未捕获的类型错误 : Cannot read property 'files' of undefined

java - 在 Java 中读取用户输入并写入文件时出现问题

Java - 解析文本文件

c - c中的这个缓冲区溢出解决方案有什么问题?

python - 如何解决 Python 中使用的供应商 DLL 中的内存泄漏问题?

c - IPC 消息队列不适用于 fork 进程