Transmisiones en C: copie datos de una transmisión a otra directamente, sin usar un búfer

Quiero copiar los datos de un flujo a otro. Ahora normalmente, lo haría de esta manera:

n = fread(buffer, 1, bufsize, fin);
fwrite(buffer, 1, n, fout);

¿Hay una manera de escribir los datos directamente desdefin afout, sin pasar por un búfer, es decir, en lugar defin->buffer->fout, Quiero hacer directamentefin->fout (sin búfer).

¿Es posible hacerlo en ANSI C? Si no, ¿es posible hacerlo con funciones POSIX? ¿O una solución específica de Linux?

Respuestas a la pregunta(1)

Su respuesta a la pregunta