Я занят небольшим проектом, в котором много данных, таких как текстовые файлы изображений и другие вещи, и я пытаюсь собрать все это в один большой файл или несколько больших файлов, чтобы папка программы не выглядела грязный.
Но проблема в том, как я могу редактировать эти файлы. Я думал о структуре файла, и это будет примерно так:
[DWORD] Number of files
[DWORD]FileId
[STRING]FileName
[DWORD]FileSize
[DWORD]FileIndex
[BYTES]All the files
Итак, первая часть слишком быстро получает список всех файлов, а FileIndex - это позиция в двоичном файле, поэтому я тоже могу установить указатель, например, 300, и прочитать файл.
Но если я хочу создать патч и отредактировать его, мне нужно будет прочитать все байты после файла, который я редактирую, и скопировать их обратно, что может занять несколько лет с парой файлов.
Двоичный файл может иметь размер несколько сотен мегабайт, когда все файлы вставлены.
Так как другие программы делают это, например, игры используют эти большие файлы, а также много исправляют, есть ли какая-то хитрость для более быстрой вставки дополнительных байтов?