我认为我想做的事情称为 GUI/命令行包装 sftp(1)。我需要一种简单的方法来启动该程序并在运行时对其输出使用react。此外,我必须能够向其发送输入,需要充分的交互。
我尝试了 forkpty(模拟 TTY),但是没有找到一个使用 forkpty 来完成这项工作的好例子,而是出现了一些关于参数溢出的警告和不要使用它的建议。另一个奇怪的事情是窗口大小参数......
请给我一个或多个示例,说明如何在 C 中调用命令行程序并与之交互,或者在 iPhone GUI 中集成 sftp 的另一种方式
最佳答案
高兴吧! Expect旨在解决您的问题。它基于 Tcl,不太令人愉快,但该工具很令人愉快,设计得非常好,并且创建该工具的 Don Libes 有一本好书。
Expect 脚本是用 Tcl 编写的,但是将 Tcl 脚本集成到 C 程序中是完全容易的,这样 C 程序的其他部分甚至不知道正在使用 Tcl。
关于c - 在 C 运行时与命令行程序交互(stdin/out),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2044093/