c - 通过 ssh 从远程终端获取提示

标签 c ssh

我有一个简单的程序测试,它获取一个数字作为输入并在控制台上打印相同的内容。

#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/

相关文章:

c - 如何在 ANSI C 89 中读取/写入单个文件

c - 当 strtok 返回 NULL 时,strtol 给出段错误

ssh - 错误启动 "XAMPP"堆栈 : cannot start stack: ssh not accessible

svn - 通过ssh执行 “svn up”命令时文件冲突

python ssh 标准输出多个

c - 为什么写入现有文件比写入不存在的文件慢?

c - 在攻击场景中传递无效输入时处理 memcpy 段错误

ssh - SSH解压缩但具有大小写敏感性

c++ - 记事本显示 Unicode 字符,因为文件是 ANSI?

ssh - 安塞 bool : SSH Error: ControlPath too long