Ho creato una pipe e ho usato dup2() per sovrascrivere i flussi 1 & 2 (stdout & stderr) in questi tubi.Come posso usare fprintf e scrivere su una pipe?
Ora desidero utilizzare fprintf per scrivere sullo stream 1 o 2, ma il mio programma non sembra ricevere nulla dall'altra parte del tubo. Ho provato a usare printf(), ma non sono sicuro se questo scrive su stdout o stream 1 per impostazione predefinita. Se scrive nello stream 1, credo che sia un problema da qualche parte più in profondità nel mio codice.
In sostanza, sto chiedendo, dato un int che rappresenta il flusso, come posso ottenere un FILE * adatto per l'uso in fprintf()?
Chiude il descrittore, il puntatore FILE o entrambi? – Bernard
Il descrittore di file rimane aperto finché non si chiude lo stream, a quel punto si chiuderà il descrittore di file in base alla manpage. –