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