0

scanfを使用して数値を読み取り、数値を出力するCプログラムがあります。ブラックボックステストを行うことになっているbashスクリプトを作成できるように、ファイルをリダイレクトしてキーストロークをシミュレートしたいと思います。

これは私のプログラム(prog)です:

int main(){
    int a;

    printf("Write a number: ", a);
    fflush(stdout);

    scanf("%d", &a);
    printf("\nYou entered: %d\n", a);

    return 0;
}

次に、次の内容のファイル(infile)があります。

12\n

ユーザー入力をシミュレートするために、プログラムへの入力としてファイルをリダイレクトすることはどういうわけか可能ですか?

入力するとき

./prog < infile

私は得る

Write a number: 
You entered: 0
4

1 に答える 1

1

ファイルの内容は次のとおりである必要があります。

12

\nなし

私はあなたのプログラムを試しました、そしてそれはうまくいきます!

echo '12' | ./prog
于 2011-11-08T20:35:26.807 に答える