como pular um arquivo dentro do arquivo tar para obter um arquivo em particular
Eu estou tentando obter o conteúdo de um arquivo html que está presente dentro do arquivo tar (estou usando o visual c ++ para realizar minha tarefa). minha abordagem é armazenar o tar em um buffer usando um fluxo e, em seguida, armazenar o conteúdo de html em outro buffer.Em seguida, usando buffer indo para o nome do arquivo de cada arquivo presente no arquivo tar no buffer de localização [0-100] (neste local que temos o nome do arquivo) e armazenar o nome do arquivo em "conteúdo" (no meu caso) e pesquisar se ele tem o arquivo extension.html?
Se ele tem .html no nome do arquivo, então armazene seu conteúdo do buffer de localização [PreviousFileSizes +512] (por PreviousFileSizes eu quero dizer que havia alguns arquivos antes deste arquivo html, então nós temos que adicionar seus tamanhos no índice de buffer para ir para o local correto, quero dizer, eu não estou supondo que o primeiro arquivo no arquivo tar é html file-no meu código i denotar este PreviousFileSizes por "skip" - isso significa que muito tamanho para pular para ir ao nosso arquivo html).
meu código para conseguir isso é-
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);
Eu estou indo certo? Por favor, corrija-me se há algo errado na minha lógica?