0

我有一个 C 程序,它使用 scanf 读取数字然后打印数字。我想以某种方式通过重定向文件来模拟击键,这样我就可以制作一个应该进行黑盒测试的 bash 脚本。

这是我的程序():

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 回答