interagir (stdin/out) com programas de linha de comando em tempo de execução em c
Pergunta
Eu acho que o que eu quero fazer é chamado GUI/Linha de comando que envolve SFTP (1). Preciso de uma maneira fácil de iniciar esse programa e reagir em sua saída durante a execução. Além disso, tenho que ser capaz de enviar informações, é necessária interação total.
Eu tentei o Forkpty (emulado TTY), mas não havia um bom exemplo encontrado usando o Forkpty para esse trabalho, em vez de vários avisos sobre transbordamentos em argumentos e conselhos para não usá -lo. Outra coisa estranha sobre isso foi o argumento do Windowsize ...
Por favor, me dê um ou muitos exemplos sobre como ligar e interagir com programas de linha de comando em c ou outra maneira de integrar o SFTP em uma GUI do iPhone
Solução
Alegrar! Espero foi criado para resolver exatamente o seu problema. É baseado no TCL, que não é tão agradável, mas a ferramenta é agradável, é muito bem projetada e há um bom livro de Don Libes, que criou a ferramenta.
Espere que os scripts sejam escritos no TCL, mas é totalmente fácil integrar um script TCL em um programa C, de modo que outras partes do programa C nem sabem que o TCL está sendo usado.
Outras dicas
Você já usou alguma das linguagens populares de script rubi/python/perl/etc? Todos eles têm bibliotecas bastante completas para abrir e se comunicar com outros processos.
a subprocess
módulo em python, por exemplo, ou Popen
Em Ruby ... também haveria muito material de referência na web para ajudá -lo.
Se uma GUI também fosse necessária, você poderia olhar Gtk extensões
Em vez de ligar sftp(1)
, que tal usar libsh? Tem cheio SFFTP SUBSEMEM Apoio, suporte.