c語言提取tar包內容

2021-10-09 14:18:11 字數 1093 閱讀 7170

tar檔案:以一定方式將多個檔案合併成tar檔案,不對檔案進行壓縮,

tar檔案格式 很 簡單,每個檔案前面+512位元組的header,並且將所有檔案疊放在一起

header1–file1–header2–file2–header3–file3

解包就是讀取檔案頭得到檔案大小,然後讀取出檔案就行了

提取tar檔案並儲存

#include

// #include <.h>

#include

#include

#include

#include

#define min(a,b) (((a) < (b)) ? a : b)

struct posix_tar_header

;int

main

(int argc,

char

*ar**)

printf

("[解壓檔案: %s\n"

,ar**[1]

);int fd =

open

(ar**[1]

,o_rdwr)

;char buf[

1024*4

];int chunk =

sizeof

(buf)

;while(1

)printf

(" %s (%d bytes)\n"

,phdr->name,f_len)

;while

(bytes_left)

close

(fdout);}

close

(fd)

;printf

("done]\n");

return0;

}

測試:

tar檔案結構csdn

go語言tar包封裝

將檔案或目錄打包成 tar 檔案 src 是要打包的多個資料夾或者多個檔案 dsttar 是要生成的 tar 檔案的路徑 failifexist 標記如果 dsttar 檔案存在,是否放棄打包,如果否,則會覆蓋已存在的檔案 func tar srcs string dsttar string fai...

C 實現tar包解析

tar tapearchive 是unix和類unix系統上檔案打包工具,可以將多個檔案合併為乙個檔案,使用tar工具打出來的包稱為tar包。一般打包後的檔名字尾為 tar 也可以為其它。tar代表未被壓縮的tar檔案,已被壓縮的tar檔案則追加壓縮檔案的副檔名,如經過gzip壓縮後的tar檔案,擴...

C 提取TXT文件指定內容

早上有分享一篇 vb.net提取txt文件指定內容 那是原的需求用vb.net寫的。剛才有只懂c 的提及,vb.net的語法,很不好看。因為同這樣形式的資料獲取,有得學習,希望insus.net有時間時,提供c 的語法。由於兩篇的要求一樣,只是開發語言不一樣,因此為了節省篇幅,要求就不重複了。每個類...