2010-01-11 104 views
2

我认为我想要做的事情叫做GUI /命令行包装sftp(1)。我需要一个简单的方法来启动该程序,并在运行时对其输出做出反应。此外,我必须能够发送输入,需要完整的交互。在C运行时与命令行程序交互(stdin/out)C

我试过forkpty(模拟的TTY),但是没有一个很好的例子使用forkpty来找到这个工作,而不是一些关于参数和建议中溢出的警告不使用它。关于这个的另一个奇怪的是windowsize参数...

请要么给我如何调用&在C命令行程序或在iPhone GUI

整合SFTP的另一种方式交互的一个或多个实例(S)

回答

2

欢喜!创建了Expect以解决您的问题。它基于Tcl,虽然不是那么令人愉快,但是它的工具非常令人愉快,它的设计非常好,Don Libes也有一本很好的书,他创建了这个工具。

期望脚本是用Tcl编写的,但将Tcl脚本集成到C程序中非常容易,因此C程序的其他部分甚至不知道正在使用Tcl。

1

您是否使用过任何流行的脚本语言Ruby/Python/Perl/etc?他们都有相当全功能的图书馆用于开放和与其他流程沟通。

subprocess模块以python为例,或者Popen在Ruby中......网上也会有很多参考资料来帮助你。

如果GUI还要求你可以看看GTK扩展