A saída usando fwrite() é normalmente guardada em um buffer de 8K. Isto significa que se se tem dois processos querendo gravar no mesmo stream de saída (output) (um arquivo), cada um é pausado depois de 8K de informações para deixar o outro processo escrever. set_file_buffer() configura o buffer para operações de escrita no dado ponteiro de arquivo fp para o buffer em bytes. Se buffer é 0 então as operações de escrita não utilizarão o buffer. Isso garante que todas as gravações com fwrite() são completadas antes que outros processos são possibilitados de escreverem para este stream de saída.
Esta função retorna 0 em caso de sucesso, ou fim do arquivo (eof) se o pedido não puder ser honrado.
O seguinte exemplo demonstra como usar set_file_buffer() para criar um stream sem usar o buffer.