如何使用 cat 命令将文件解析为参数

How to parse file as an argument using cat command

我需要使用 cat:

将文件解析为我的 C 代码的参数
cat filename | ./code -n 10

这样它的工作方式与:

./code filename -n 10

或者有什么方法可以直接通过cat命令使用read系统调用来读取文件?我在想这样的事情:

read([file from the cat], buf, sizeof(buf));

也许如果我这样做,我就不需要这样做了:

fd = open(fileName, O_RDONLY);
read(fd, buf, sizeof(buf));

第一次看到cat这样用;我试图 google 它但找不到任何东西。 我是C语言和Unix的初学者;任何帮助,将不胜感激。 谢谢。

这是我在 Whosebug 上的第一个回答,所以请耐心等待...

"运行 cat filename 读取指定文件的内容并将其写入标准输出。| 在两个命令之间表示将左侧命令的标准输出连接到右侧命令的 标准输入命令。” cat and pipe

当您提议阅读“来自猫的文件”时... read([file from the cat], buf, sizeof(buf));

...您应该为读取命令指定文件描述符 read(2)

原来,你可以传入“0”的文件描述符来从标准输入读取。

因此您只需执行以下操作:

read(0, buf, sizeof(buf));