ISO 9660: Как найти дочерние элементы каталога

Итак, в настоящее время я работаю над заданием на С++ для чтения из iso-образа 9660 уровня 1. Целью задания является распаковка содержимого на диск. Я могу получить дескриптор основного тома и перейти к корневому каталогу и его экстенту, но я не знаю, что оттуда делать.

Итак, как мне найти дочерние элементы на основе записи корневого каталога? Я думаю, что я пытаюсь понять, как дочерние файлы и каталоги размещаются по отношению к их родителю?

На самом деле мне нужен правильный ответ, а не просто «прочитать это», поскольку я уже просматривал Интернет (читал спецификации и т. Д.), Пытаясь понять это. И либо это плохо задокументировано, либо я просто слеп. :(


person iceflow19    schedule 24.04.2015    source источник


Ответы (1)


Так что, пожалуй, я отвечу на свой вопрос. После некоторых экспериментов и редактирования iso в шестнадцатеричном формате я нашел ответ. Записи дочернего каталога на самом деле идут последовательно после собственных и родительских записей-указателей. Предполагая, что весь сектор был прочитан в char[2048], для получения следующей записи вам просто нужно увеличить указатель на значение, хранящееся по смещению 0 текущей записи каталога.

person iceflow19    schedule 07.05.2015