PDA

Visualizza la versione completa : [C] Leggere e scrivere su console


grisson
03-08-2007, 14:02
Allora, ho un programma scritto in c che funziona da riga di comando ed un programmino ad interfaccia grafica che deve comandare il programma a riga di comando.
la gui la sto creando con glade e anjuta (ubuntu), però non so come scrivere e leggere dalla riga di comando.
cioè, il programma a riga di comando lo avvio normalmente (exec), ma poi questo ha bisogno ad un certo punto dell'elaborazione di un comando, e a seconda di questo mi da diversi output nel tempo.
come faccio a dare al programma quel comando e leggere man mano gli output che vengono restituiti???

ciao :ciauz:

andbin
03-08-2007, 15:57
Originariamente inviato da grisson
Allora, ho un programma scritto in c che funziona da riga di comando ed un programmino ad interfaccia grafica che deve comandare il programma a riga di comando.
la gui la sto creando con glade e anjuta (ubuntu), però non so come scrivere e leggere dalla riga di comando.
cioè, il programma a riga di comando lo avvio normalmente (exec), ma poi questo ha bisogno ad un certo punto dell'elaborazione di un comando, e a seconda di questo mi da diversi output nel tempo.
come faccio a dare al programma quel comando e leggere man mano gli output che vengono restituiti???Visto che parli di Linux, devi usare delle "pipe". In pratica prima di fare fork+exec, devi creare una pipe, poi nel processo figlio, prima della exec, devi cambiare i descrittori dello standard-input/output (uno solo o entrambi ... dipende da cosa devi farci) del processo child in modo che il processo padre possa poi scrivere/leggere attraverso le pipe.

Vedi: http://www.gnu.org/software/libc/manual/html_node/Pipes-and-FIFOs.html#Pipes-and-FIFOs

grisson
16-08-2007, 18:50
ok ci ho dato un'occhiata....

e se invece volessi farlo con delphi su un programma c a riga di comando?

Loading