interagire (stdin / out) con programmi a riga di comando a runtime in C
Domanda
Credo che la cosa che voglio fare è chiamata GUI / linea di comando di avvolgimento sftp (1). Ho bisogno di un modo semplice per iniziare il programma e reagire sulla sua uscita durante l'esecuzione. Inoltre devo essere in grado di inviare in ingresso ad esso, è necessaria l'interazione completa.
Ho cercato forkpty (emulato TTY), ma non c'era un buon esempio trovabile utilizzando forkpty per quel lavoro, invece diversi avvertimenti circa overflow in in argomenti e avvisi di non usarlo. Un'altra cosa strana di questo è stato l'argomento WindowSize ...
o mi darà uno o molti esempio (s) su come chiamare e interagire con i programmi da linea di comando in C o in un altro modo di integrare SFTP in una GUI iPhone
Soluzione
Rallegratevi! aspettiamo è stato creato per risolvere esattamente il tuo problema. Si basa su Tcl, che non è così piacevole, ma lo strumento è piacevole, è davvero ben progettato, e c'è un buon libro da Don Libes, che ha creato lo strumento.
Si aspettano gli script sono scritti in Tcl, ma è del tutto facile da integrare uno script Tcl in un programma C tale che altre parti del programma C non sanno nemmeno che Tcl è in uso.
Altri suggerimenti
Hai usato uno qualsiasi dei linguaggi di scripting popolari di Ruby / Python / Perl / etc? Tutti hanno abbastanza pieno libraires vetrina per l'apertura e comunicare con altri processi.
il modulo subprocess
in Python per esempio, o Popen
in Ruby ... ci sarebbe anche un sacco di materiale di riferimento in tutto il web per aiutarvi.
Se una GUI è stato anche richiesto si poteva guardare le estensioni GTK
Invece di chiamare sftp(1)
, come circa usando libssh ? E 'pieno SFTP sottosistema supporto.