2010-01-11 148 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擴展