0

我需要管道 3 个程序: AddWith5.c AddWith2.c MultiplyWith3.c

我的代码遵循这种模式:

int main(){
    int x;
    scanf("%i",&x);
    printf("%i",x*3);
    return 0;
}

我需要对它们进行管道传输,以便获得以下输出: ((x+5)+2)*3

(f1.txt 包含数字 2)

有人能帮我吗?

我试过: AddWith5.c | AddWith2.c | MultiplyWith3.c < f1.txt > f2.txt

先感谢您!

4

1 回答 1

1

管道是从左到右读取的,因此必须将输入提供给管道中的“头”(最左边)程序:

$ AddWith5 < f1.txt | AddWith2 | MultiplyWith3

此外,您不要直接调用 C 文件,首先需要将每个文件单独编译成具有上述名称的二进制文件。

顺便说一句,这与 C 无关。程序也可以是 shell 脚本,或者用任何其他编程语言编写,在这个级别上没关系。

于 2013-01-15T14:52:16.187 回答