Я добавляю некоторые функции к существующей базе кода, которая использует чистые функции C (fopen
, fwrite
, fclose
) для записи данных в файл. К сожалению, я не могу изменить фактический механизм ввода/вывода файлов, но мне нужно предварительно выделить место для файла, чтобы избежать фрагментации (что убивает нашу производительность во время чтения). Есть ли лучший способ сделать это, чем фактически записать нули или случайные данные в файл? Я знаю максимальный размер файла, когда я его открываю.
Я знаю, что могу использовать fallocate для linux, но я не знаю, что такое эквивалент Windows.
Спасибо!