Su Ubuntu e Debian questo codice mi restituisce un file vuoto perché la printf non ha effetto:
con questo la printf funziona:codice:#include<stdio.h> int main() { fclose(stdout); stdout = fopen("/home/federico/provaout", "w"); printf("Prova\n"); return 0; }
So che per redirigere stdout si dovrebbe usare freopen ma su linux dovrebbero essere equivalenti.codice:#include<stdio.h> int main() { int test; fclose(stdout); stdout = fopen("/home/federico/provaout", "w"); test = printf("Prova\n"); return 0; }
Ma ciò che non capisco è come mai assegnando semplicemente il risultato della printf a test la stringa venga scritta mentre non assegnandolo NO! Mi sembra assurdo..

Rispondi quotando