导航:首页 > 文件处理 > 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压缩相关的资料

热点内容
抖音小店app如何联系客服 浏览:973
linux打开多个终端 浏览:500
linux中的命令 浏览:573
优化小米6相机算法 浏览:256
ak47pdf 浏览:141
人与文化pdf 浏览:640
原子币app在哪里注册的 浏览:529
php数组保存文件 浏览:226
无理的命令 浏览:510
问道手游解压失败是什么原因 浏览:776
mysql命令提示 浏览:373
apachephp中文乱码 浏览:342
pythonimportpylab 浏览:238
阿里云app服务器价格表 浏览:981
appstore怎么抢手机 浏览:845
打印服务器是什么打印队列 浏览:359
网上怎么用app办理营业执照 浏览:861
sql如何查看服务器地址 浏览:780
编译速度和系统有关吗 浏览:59
复盛制冷压缩机 浏览:983