Нет встроенного метода для достижения этой цели.
Наилучшим вариантом, вероятно, является написание небольшой функции-оболочки, которая заботится о записи в файл при сохранении количества записанных байтов.
Как только он достигнет установленного вами максимального размера, он должен вызвать rewind()
(или fseek()
и т. Д.), Чтобы вернуться к началу файла.использовать mmap()
для отображения в памяти вашего файла, а затем обрабатывать его как кольцевой буфер.Но, опять же, вам нужно будет выполнить обертывание самостоятельно.