如何在终端中获得echo的输入?

时间:2016-02-05 04:08:49

标签: c terminal

例如,当你想用Java从用户那里获得输入时,你只需使用Scanner in = new Scanner,现在我想从用户那里获得输入,这些输入将使用echo命令输入,例如echo 2 3 | sh addition,我在脚本中放入了哪些C命令,使其读取2和3?谢谢!

2 个答案:

答案 0 :(得分:0)

C

echo 2 3 | sh addition基本上是指“输入2,空格和3到命令sh addition”,这意味着您应该能够阅读2和在您的程序中3,因为它是手动输入的。

但是,sh addition意味着要删除不是C的shell脚本。可以使用其文件名直接执行C程序,即./a.out其中a.out是您的程序。所以以下程序:

#include <stdio.h>

int main () {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d + %d = %d\n", a, b, a+b);
    return 0;
}

应该做你想做的事。将它编译为可删除后,例如a.out,您可以通过

运行它
echo 2 3 | ./a.out

Shell脚本

sh addition表示运行shell脚本。要编写shell脚本,您可以在名为addition的文件中编写类似的内容,您可以使用sh additionecho 1 2 | sh addition运行该文件。

#!/bin/sh

read a b # read two int, one put in a and another put in b.
echo -n "$a + $b = ";
expr $a + $b

readscanf类似,expr执行计算和输出。

答案 1 :(得分:0)

我想你的意思是&#34;我应该在 C程序中使用哪些C指令来阅读标准输入&#34; ...好吗?

嗯......您可以使用多条指令来阅读标准输入。我猜你可能想开始使用scanf()。像这样:

... all includes, declarations, etc. here ...
scanf ( "%d %d", &a, &b ) ;
// a and b are the two integer variables where you will store 2 and 3
...