我有一个简单的程序测试,它获取一个数字作为输入并在控制台上打印相同的内容。
#include<stdio.h>
int main(void)
{
int i;
printf("Test Pgm \n");
printf("Enter a no:");
scanf("%d",&i);
printf("No Inputted:%d \n",i);
return 0;
}
//以上程序位于10.220.5.xx(不同机器)
##gcc -o test test.c
通过 ssh 从另一台计算机调用测试 pgm 时,我在执行的计算机上没有收到任何提示。
$ ssh user@10.220.3.xx '/home/user/test'
user@10.220.3.xx's password
输入密码后,我看不到任何内容,甚至没有看到“Test Pgm”。如何远程获取提示并输入值?
最佳答案
尝试在 scanf()
之前添加 fflush(stdout);
。
此外,您必须检查 scanf()
的返回值,如果给定非数字文本,它可能无法转换输入:
fflush(stdout);
if(scanf("%d", &i) == 1)
printf("Number input: %d\n", i);
关于c - 通过 ssh 从远程终端获取提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14136712/