Tengo algo de código que imprime en la salida estándar, en pseudo código que parececómo comprobar si una salida estándar está cerrada
int main(){
//allocate data
while(conditional){
char *string = makedata();
fprintf(stdout,"%s",string);
}
//cleanup
}
Esto funciona bien, si el condicional se puede cambiar entre a cero, pero si la tubería del salida como
./a.out |head -n10 >dumped
Entonces el código nunca llega a la parte de limpieza, no entiendo cómo comprobar si se cierra el stdout.
Gracias
¿Qué pasa con 'feof()' y 'ferror()'? –