Como você pré-aloca espaço para um arquivo em C / C ++ no Window

Estou adicionando alguma funcionalidade a uma base de código existente que usa funções C puras fopen, fwrite, fclose) para gravar dados em um arquivo. Infelizmente, não posso alterar o mecanismo real de E / S do arquivo, mas preciso pré-alocar espaço para o arquivo para evitar fragmentação (o que está prejudicando nosso desempenho durante as leituras). Existe uma maneira melhor de fazer isso do que gravar zeros ou dados aleatórios no arquivo? Sei o tamanho final do arquivo quando o abro.

Eu sei que posso usar fallocate no linux, mas não sei qual é o equivalente do Window

Obrigado

questionAnswers(5)

yourAnswerToTheQuestion