鍍金池/ 問(wèn)答/C  Linux/ 給使用scanf獲得輸入的程序?qū)憸y(cè)試

給使用scanf獲得輸入的程序?qū)憸y(cè)試

有一大坨命令行程序,其中大量使用scanf獲得輸入,不斷輸入,然后打印結(jié)果,現(xiàn)在想使用類似與echo "1 2 3 n hello > myprogram
實(shí)際操作為./myprogram然后等待開始輸入,然后按1,按ENTER,按2,再按ENTERT,再按3,再按ENTERT,再按n,再按ENTERT,最后按hello,最后ENTER解釋程序。

回答
編輯回答
不討喜

使用 echo 也可以
你也可以寫到文件里面,然后重定向標(biāo)準(zhǔn)輸入

2018年4月23日 21:20
編輯回答
初心

當(dāng)輸入有很多Enter時(shí),用 myprogram < input.txt方式更方便

下面是一個(gè)小例子

input.c

#include<stdio.h>

int main()
{
    int num, a ;
    char c[2000];
    printf("input start\n");
    scanf("%d", &num);
    scanf("%d", &a);
    scanf("%s", c);
    printf("this is what you input\n");
    printf("%d\n", num);
    printf("%d\n", a);
    printf("%s\n", c);
    return 0;
}

input.txt

123
456
abcdefghnopq
$ gcc input.c
$ ./a.out <input.txt
input start
this is what you input
123
456
abcdefghnopq
2018年6月23日 03:35