我有这组 .gz 文件,每个文件中都有一个文本文件。该文本文件需要在 C 程序中使用。下面的代码以某种方式解决了这个问题,其中参数 1 和 2 是整数,我在 main()
中接收它们作为 C 程序(argc、argv[])的参数。
gzip -dc xyz.txt.gz | ./程序参数1参数2
有人可以解释一下上面的代码在命令行中是如何工作的吗? 文本文件如何自动传递给程序? 我是否需要在 C 程序中编写额外的代码来接收此文本文件?
最佳答案
shell 通过 pipe(7) 将一个命令的标准输出直接连接到另一个命令的标准输入.这两个程序都无需执行任何异常操作即可利用这一点。
关于c++ - 管道以提供文件作为 C 程序的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32804989/