jak pominąć plik wewnątrz pliku tar, aby uzyskać określony plik

staram się pobrać zawartość pliku HTML, który jest obecny w pliku tar (używam wizualnego c ++ do wykonania mojego zadania). moim podejściem jest przechowywanie taru w buforze przy użyciu strumienia, a następnie zapisanie zawartości html w innym buforze. Następnie użyj bufora przechodząc do nazwy pliku każdego pliku obecnego w pliku tar w buforze lokalizacji [0-100] (w tym lokalizacja, w której mamy nazwę pliku) i przechowuj nazwę pliku w „treści” (w moim przypadku) i wyszukaj, jeśli ma plik extension.html?

Jeśli ma w nazwie plik .html, zapisz jego zawartość z bufora lokalizacji [PoprzednieFileSizes +512] (przez PreviousFileSizes mam na myśli, że przed plikiem html znajdowały się jakieś pliki, więc musimy dodać ich rozmiary w indeksie bufora, aby przejść do poprawnej lokalizacji - mam na myśli, że nie zakładam, że pierwszym plikiem w pliku tar jest plik html - w moim kodzie oznaczam ten rozmiarFilePrzez „przeskocz” - oznacza to tyle, że pomijam, aby przejść do naszego pliku html).

mój kod do osiągnięcia tego jest

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);

mam rację? Popraw mnie, jeśli w mojej logice jest coś złego?

questionAnswers(2)

yourAnswerToTheQuestion