как пропустить файл внутри файла 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);
я иду правильно? Пожалуйста, поправьте меня, если что-то не так в моей логике ??