Ovvero un array di puntatori a file.Originariamente inviato da Manugal
Aspetta perché non ho capito molto bene. Allora io ho pensato di fare una cosa del genere. Creo una variabile del tipo FILE* fpipe[num_comandi].
Ma tu devi inviare ("w") o ricevere ("r") i dati ai tuoi eseguibili ?Dopo Creo un figlio e poi nel figlio, per ogni comando da eseguire, (quindi facendo per esempio for(i=0; i<num_comandi; ++i) ) lancio la popen di quel comando con il flag w
Scusa, che compilatore stai utilizzando ?(non conosco la _popen che hai scritto tu).
Comunque sono la stessa cosa, ed il prototipo delle due funzioni è uguale
FILE *_popen (const char *command, const char *mode);
FILE *popen(const char *command, const char *mode);
SiA questo punto cosa dovrei fare? Catturare l'output in un buffer come hai scritto tu?
Che tipo di output restituiscono i programmi ?E dopo come faccio a redirezionare questo buffer in input al successivo programma?
Ti occupi tu di parsare questo output ?
Come lo avvii questo programma successivo ?
Comunque in generale, devi accodare l'output del primo programma alla linea di comando
che avvia il secondo.
Se avvii
Programma1.exe
che ti restituisce
"1"
il successivo programma lo avvierai così
Programma2.exe 1
Ovvero risolvi con una strcat (ricordati di aggiungere lo spazio fra ogni parametro)
A questo punto se mostri il codice, riusciremo a fare un pò più di chiarezza .![]()