С++ fstream и seekp

Если я сделаю поиск после конца файла, а затем напишу, что произойдет? Я хотел бы, чтобы файл автоматически расширялся до размера местоположения поиска. Если да, то заполняет ли он также пространство между старым концом файла и новым местоположением, записывая что-либо на диск, или это пространство только что выделено.

Однако, если он не расширяет файл, как я могу сделать это достаточно эффективно?


person mlewis54    schedule 06.01.2013    source источник


Ответы (1)


Вполне допустимо seekp() пропустить конец файла, а затем записать. Файл действительно будет расширен.

Будет ли выделено дисковое пространство для дыры, зависит от файловой системы. Некоторые файловые системы (например, ext3) поддерживают разреженные файлы, некоторые нет.

person NPE    schedule 06.01.2013
comment
Спасибо за быстрый ответ. Я под прицелом, иначе я бы создал несколько тестов, чтобы понять это. - person mlewis54; 06.01.2013