как пропустить файл внутри файла tar, чтобы получить конкретный файл

я пытаюсь получить содержимое HTML-файла, который присутствует внутри файла tar (я использую Visual C ++ для выполнения моей задачи). Мой подход заключается в том, чтобы сохранить tar в буфере, используя поток, а затем сохранить содержимое html в другом буфере. Затем с помощью буфера перейдите к имени файла каждого файла, присутствующего в файле tar в буфере местоположения [0-100] (при этом расположение у нас есть имя файла) и сохранить имя файла в "содержание»(в моем случае) и поиск, если у него есть файл extension.html ??

Если в названии файла указан файл .html, сохраните его содержимое из буфера местоположения [PreviousFileSizes +512] (под PreviousFileSizes я имею в виду, что перед этим html-файлом было несколько файлов, поэтому мы должны добавить их размеры в индекс буфера для перехода в правильное местоположение - я имею в виду, я не предполагаю, что первый файл в файле tar является HTML-файл. В моем коде я обозначаю этот PreviousFileSizes через "пропускать" - это означает, что такой большой размер, чтобы пропустить, чтобы перейти к нашему HTML-файлу).

мой код для достижения этой цели-

int skip=0;
            char contents [100];
            //char test[1000];
            do
            {

                    int SizeOfFile = CreateOctalToInteger(&buffer[skip+124],11);
                    size_t distance= ((SizeOfFile%512) ? SizeOfFile + 512 - (SizeOfFile%512) : SizeOfFile );
                    size_t skip= distance +512;
                    memcpy(contents,&buffer[skip],100);




            }
            while(strstr(contents,".html") != NULL);

я иду правильно? Пожалуйста, поправьте меня, если что-то не так в моей логике ??

Ответы на вопрос(2)

Ваш ответ на вопрос