ISO 9660:如何定位目录的子目录

ISO 9660: How to locate children of a directory

好的,所以我目前正在用 C++ 完成一项作业,以从 9660 级别 1 iso 图像中读取数据。任务的目标是将内容解压到磁盘。我可以获得主卷描述符,并且可以导航到根目录及其范围,但我不知道从那里可以做什么。

那么如何根据根目录记录找到子目录呢?我想我想了解的是子文件和目录是如何参考其父文件放置的?

我实际上想要一个正确的答案,而不仅仅是 "read this",因为我已经在互联网上搜索(阅读规范等)试图弄清楚这个问题。要么它没有很好的记录,要么我只是瞎了眼。 :(

所以我想我会回答我自己的问题。经过一些实验和对 iso 进行十六进制编辑后,我找到了答案。子目录记录实际上顺序在自身和父目录 "pointer" 记录之后。假设整个扇区已被读入 char[2048],要获取下一条记录,您只需将指针递增当前目录记录的偏移量 0 处存储的值即可。