что такое индикатор Link (тип файла) в парсере tar

Я хочу знать, тип файла HTML-файл присутствует в файле tar. Я сохранил этот tar-файл в буфере, и я знаю, что могу узнать размер файла в буфере местоположения [124], но я хочу знать —
(1.) Я хочу знать, что если файл, представленный в tar, является файлом HTML? Есть идеи как это сделать ?? Я думаю, что я знаю файл Link Link Indicator (но я не уверен). Может ли кто-нибудь объяснить, пожалуйста, как это сделать?

(2.) Однажды, если я уверен, что у меня есть html-файл внутри tar-файла, я хочу поместить содержимое этого html-файла в tar-файл.

В tar-файле также присутствует много других файлов (не только html-файл. Обратите внимание на эту строку, поэтому я не знаю, как выглядит html-файл)

Есть идеи как этого добиться ??

2

Решение

Ах, ты имеешь в виду typeflag поле. Нет не для тот тип файла, он указывает, является ли файл обычным файлом, каталогом, жесткой ссылкой, программной ссылкой, специальным файлом устройства и т. д.

Ваша система (если она совместима с POSIX) должна иметь <tar.h> системный заголовочный файл (обычно в /usr/include), который содержит эти флаги. Или вы можете увидеть официальная спецификация POSIX.

0

Другие решения

@ Йоахим, спасибо за ваше предложение, наконец, я сделал это, как показано ниже, вы можете увидеть, если вы хотите —

char * StartPosition;

    size_t skip= 0;
char HtmlFileContents [200000];
char contents [8000];
do
{
int SizeOfFile = CreateOctalToInteger(&buffer[skip+124],11);
size_t distance= ((SizeOfFile%512) ? SizeOfFile + 512 - (SizeOfFile%512) : SizeOfFile );
skip += distance + 512;
memcpy(contents,&buffer[skip],100);
if (StartPosition=strstr(contents,".html"))
{
MessageBox(m_hwndPreview,L"finally string is copied",L"BTN WND6",MB_ICONINFORMATION);
int SizeOfFile = CreateOctalToInteger(&buffer[skip+124],11);
memcpy(HtmlFileContents,&buffer[skip+512],SizeOfFile);
break;
}}
while(strcmp(contents,".html") != NULL);

и это может работать для каждого файла, хранящегося в файле tar. нам просто нужно указать расширение файла (в моем случае .html), и этот код даст нам его содержимое.

0

По вопросам рекламы [email protected]