Обновление текстового файла с минимальным переписыванием - PullRequest
0 голосов
/ 26 марта 2020

Короче говоря, как правильно обновить файл в C или C ++, который выполняет минимальное количество необходимых операций записи.

Более длинный вопрос:

  1. Скажите, что мне нужно обновить файл, добавив информацию в его конец. Мне не нужно загружать весь файл в память, мне просто нужно добавить указатель конца до конца блока файловой системы (и / или зарезервировать другой). Какая будет правильная стандартная функция C ++ или C для этого.

  2. Скажем, мне также нужно заменить байтовый массив этого файла байтовым массивом такой же длины. (например, изменить один символ ASCII на другой символ ASCII). Как я могу этого достичь.

  3. Существует ли библиотека, которая делает то, что я имею в виду (dwim), т.е. если ей нужно вставить массив байтов a[] длины l в позиция p, что он перезаписывает l байтов после указателя, с a[] затем он берет исходные байты по указателю p пишет до конца файла, а затем просто добавляет последние 1 байт файла для учета новой длины.

...