我不知道该怎么说。但我有一个C程序将在unix中调用另一个C程序。调用之后,程序(foo-exe)将提示输入“Y / N”。我想抑制(隐藏)此提示消息,然后输入“Y”作为输入。我该怎么做呢?
#include <stdio.h>
int main(int argc, char* argv[])
{
system("/home/xyz/foo-exe bar");
}
FOO-EXE
// do some other stuff
char ans = 'n';
printf("prompt message. Yes or no? (Y/N) ");
ans=getchar();
if(ans == 'Y') system("foo");
答案 0 :(得分:1)
如果那是foo-exe
期望的全部(Y或N),那么您可以将其stdin重定向到从管道读取。
system("echo Y | /home/xyz/foo-exe bar");
但要注意system()
的{{3}},并且通常不鼓励使用它。