我打算獲取tar文件中存在的html文件的內容(我正在使用visual C++來完成我的任務)。我的方法是使用流將tar存儲在緩衝區中,然後將html的內容存儲在另一個緩衝區中。然後使用緩衝區轉到位置緩衝區[0-100]處的tar文件中存在的每個文件的文件名(此處位置我們有文件名),並將文件名存儲在「內容」(在我的情況),並搜索是否有extension.html文件?如何跳過tar文件中的文件來獲取特定文件
如果它在文件名中有.html,然後從位置緩衝區中存儲它的內容[PreviousFileSizes +512](通過PreviousFileSizes我的意思是有一些文件之前,這個HTML文件,所以我們必須添加它們的大小在緩衝區索引去正確的位置 - 我的意思是我沒有假設tar文件中的第一個文件是html文件 - 在我的代碼中,我通過「skip」表示這個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);
我要去吧??請糾正我,如果有什麼錯在我的邏輯?
您是否嘗試過使用'tar xf mytarfile myfile.html'?這不是很容易嗎? –
是否有任何命令你正在討論...如果是,我不必處理命令提示符。只需獲取HTML文件的內容在tar文件中存在的C++代碼..如果它的任何新的和容易的事情請解釋我正確的是什麼,「tar xf mytarfile myfile.html」?? – Sss
我的意思是命令提示工具 - 如果你採取了這個選項,你上週就已經完成了。只是因爲它是一個命令提示工具。或者找一個運行在GUI中的'tar'的工具,我相信有這樣的東西。 –