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

热点内容
dhcp服务器新增地址 浏览:930
程序员跑三个月外卖 浏览:941
linux配置tomcat的jdk路径 浏览:363
液体压缩公式 浏览:777
php开发后台管理系统 浏览:360
python二分查找递归 浏览:447
微信如何发视频不压缩 浏览:902
河北2021美术高考综合分算法 浏览:606
如何为电脑文件夹加密 浏览:835
电脑自启动应用命令 浏览:690
php判断一个文件是否存在 浏览:829
php导出xml文件 浏览:904
7个文件夹解压 浏览:383
python实现机器码 浏览:356
jpeg压缩器 浏览:98
php数组转化json 浏览:33
转换mp3用什么app 浏览:465
国际服吃鸡为什么没有提供服务器 浏览:494
单片机中断定时 浏览:395
像搭积木一样的编程叫什么编程 浏览:804