導航:首頁 > 文件處理 > c語言gzip壓縮

c語言gzip壓縮

發布時間:2023-12-19 15:42:05

Ⅰ gzip怎麼壓縮和怎麼解壓縮文件到其他目錄

  1. 解決:gzip -c test.txt > /root/test.gz,文件流重定向,解壓也是,gunzip -c /root/test.gz > ./test.txt

  2. 經驗:更常用的命令tar同樣可以解壓*.gz,參數為-c

  3. 附gzip幫助文件

GZIP(1) General Commands Manual GZIP(1)


NAME

gzip, gunzip, zcat - compress or expand files


SYNOPSIS

gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]

gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ]

zcat [ -fhLV ] [ name ... ]




OPTIONS

-a --ascii

Ascii text mode: convert end-of-lines using local conventions.

This option is supported only on some non-Unix systems. For

MSDOS, CR LF is converted to LF when compressing, and LF is con‐

verted to CR LF when decompressing.


-c --stdout --to-stdout

Write output on standard output; keep original files unchanged.

If there are several input files, the output consists of a

sequence of independently compressed members. To obtain better

compression, concatenate all input files before compressing

them.


-d --decompress --uncompress

Decompress.


-f --force

Force compression or decompression even if the file has multiple

links or the corresponding file already exists, or if the com‐

pressed data is read from or written to a terminal. If the input

data is not in a format recognized by gzip, and if the option

--stdout is also given, the input data without change to

the standard output: let zcat behave as cat. If -f is not

given, and when not running in the background, gzip prompts to

verify whether an existing file should be overwritten.


-h --help

Display a help screen and quit.


-l --list

For each compressed file, list the following fields:


compressed size: size of the compressed file

uncompressed size: size of the uncompressed file

ratio: compression ratio (0.0% if unknown)

uncompressed_name: name of the uncompressed file


The uncompressed size is given as -1 for files not in gzip for‐

mat, such as compressed .Z files. To get the uncompressed size

for such a file, you can use:


zcat file.Z | wc -c


In combination with the --verbose option, the following fields

are also displayed:


method: compression method

crc: the 32-bit CRC of the uncompressed data

date & time: time stamp for the uncompressed file


The compression methods currently supported are deflate, com‐

press, lzh (SCO compress -H) and pack. The crc is given as

ffffffff for a file not in gzip format.


With --name, the uncompressed name, date and time are those

stored within the compress file if present.


With --verbose, the size totals and compression ratio for all

files is also displayed, unless some sizes are unknown. With

--quiet, the title and totals lines are not displayed.


-L --license

Display the gzip license and quit.


-n --no-name

When compressing, do not save the original file name and time

stamp by default. (The original name is always saved if the name

had to be truncated.) When decompressing, do not restore the

original file name if present (remove only the gzip suffix from

the compressed file name) and do not restore the original time

stamp if present ( it from the compressed file). This option

is the default when decompressing.


-N --name

When compressing, always save the original file name and time

stamp; this is the default. When decompressing, restore the

original file name and time stamp if present. This option is

useful on systems which have a limit on file name length or when

the time stamp has been lost after a file transfer.


-q --quiet

Suppress all warnings.


-r --recursive

Travel the directory structure recursively. If any of the file

names specified on the command line are directories, gzip will

descend into the directory and compress all the files it finds

there (or decompress them in the case of gunzip ).


-S .suf --suffix .suf

When compressing, use suffix .suf instead of .gz. Any non-empty

suffix can be given, but suffixes other than .z and .gz should

be avoided to avoid confusion when files are transferred to

other systems.


When decompressing, add .suf to the beginning of the list of

suffixes to try, when deriving an output file name from an input

file name.


pack(1).


-t --test

Test. Check the compressed file integrity.


-v --verbose

Verbose. Display the name and percentage rection for each file

compressed or decompressed.


-V --version

Version. Display the version number and compilation options then

quit.


-# --fast --best

Regulate the speed of compression using the specified digit #,

where -1 or --fast indicates the fastest compression method

(less compression) and -9 or --best indicates the slowest com‐

pression method (best compression). The default compression

level is -6 (that is, biased towards high compression at expense

of speed).

Ⅱ 想在linux上用C實現gzip壓縮與解壓縮,有沒有相關庫函數可以調用

命令: gzip語法:gzip [選項] 壓縮(解壓縮)的文件名
-c 將輸出寫到標准輸出上,並保留原有文件。
-d 將壓縮文件解壓。
-l 對每個壓縮文件,顯示下列欄位:
(1)壓縮文件的大小
(2)未壓縮文件的大小
(3)壓縮比
未壓縮文件的名字
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6。
註:gzip不能壓縮整個目錄。可以使用tar先打包,再壓縮
例如:
$ tar cf test.tar test/
$ gzip test.tar

$ tar czf test.tar.gz test/

Ⅲ 怎麼用c語言將.zip文件解壓成文件夾

簡單一點的 直接調用系統命令
比如system("unzip ___filename___ -d target_path");
這樣做 實際就相當於在命令行下敲了這樣的一個命令
不過 這個要求系統內 必須安裝了unzip這個軟體 即支持這個命令

復雜一些的 你可以再網上找一個開源的gzip 很多很好找的 然後看懂代碼 調用對應的介面函數
這樣做的好處不需要依賴系統環境

Ⅳ 請問如何用C語言寫一個輸入路徑,壓縮和解壓文件的代碼 能分享一下源碼嗎 我想學習一下

這個如果是在linux下面的話可以調用系統自帶的壓縮工具

大致給你說一下步驟吧。具體還是靠你自己實現

  1. 輸入路徑。這個就不多說。scanf

  2. 分析輸入的文件路徑,或者後綴名。然後調用 tar gzip等壓縮,解壓縮命令。

壓縮的演算法如果有興趣你也可以自己去實現一下。不過不容易實現。還是調用系統自帶的壓縮命令吧。

閱讀全文

與c語言gzip壓縮相關的資料

熱點內容
mysql命令提示 瀏覽:369
apachephp中文亂碼 瀏覽:335
pythonimportpylab 瀏覽:234
阿里雲app伺服器價格表 瀏覽:978
appstore怎麼搶手機 瀏覽:843
列印伺服器是什麼列印隊列 瀏覽:357
網上怎麼用app辦理營業執照 瀏覽:859
sql如何查看伺服器地址 瀏覽:777
編譯速度和系統有關嗎 瀏覽:56
復盛製冷壓縮機 瀏覽:982
雲伺服器共享手機流量 瀏覽:842
星界邊境像素壓縮 瀏覽:459
演算法分析與設計二手 瀏覽:983
學編程如何配電腦 瀏覽:971
怎麼看特徵找卡密的加密方式 瀏覽:526
方舟非官方伺服器怎麼賺錢 瀏覽:516
明日之後伺服器無效是怎麼回事 瀏覽:272
蛋殼公寓app如何查水電表 瀏覽:718
ad20庫中的51單片機怎麼找 瀏覽:626
阿里雲伺服器有點卡嗎 瀏覽:216