Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建zip压缩程序/解压缩程序以改进C语言技能_C_Compression_Zip - Fatal编程技术网

构建zip压缩程序/解压缩程序以改进C语言技能

构建zip压缩程序/解压缩程序以改进C语言技能,c,compression,zip,C,Compression,Zip,我想提高我的C语言技能,并一直在考虑编写自己的zip和unzip程序。这似乎影响了很多领域,CPU/HDD/内存 我从哪里开始?是否有压缩和解压缩的流程图?对于这种类型的项目来说太复杂了吗 一本好的书,一步一步地完成所有的步骤,还是一个网站 我想知道是否有人对此有什么好的资源或其他建议。首先,我会仔细查看以下维基百科页面上的外部链接(它们链接到格式的完整规范): 首先,我要仔细查看以下维基百科页面上的外部链接(它们链接到完整的格式规范): 额外建议,以防您正在寻找更困难的东西 该程序

我想提高我的C语言技能,并一直在考虑编写自己的zip和unzip程序。这似乎影响了很多领域,CPU/HDD/内存

我从哪里开始?是否有压缩和解压缩的流程图?对于这种类型的项目来说太复杂了吗

一本好的书,一步一步地完成所有的步骤,还是一个网站


我想知道是否有人对此有什么好的资源或其他建议。

首先,我会仔细查看以下维基百科页面上的外部链接(它们链接到格式的完整规范):


首先,我要仔细查看以下维基百科页面上的外部链接(它们链接到完整的格式规范):


额外建议,以防您正在寻找更困难的东西


该程序专门用于压缩小型可执行文件。下面是它的工作原理。

额外的建议,以防你正在寻找更困难的东西


该程序专门用于压缩小型可执行文件。下面是它的工作原理。

你可能想在维基百科上读一下。编码非常简单,使用它可以实现某种程度的压缩。此压缩算法将帮助您处理链表、内存分配和数据结构的正确选择


如果你想实现一些非常简单的东西,只需实现你可能想在维基百科上阅读的东西。编码非常简单,使用它可以实现某种程度的压缩。此压缩算法将帮助您处理链表、内存分配和数据结构的正确选择


如果您想实现非常简单的东西,只需实现

ZIP是两种东西的组合,一种文件打包格式和一组压缩算法。第一个有点平淡无奇,但会磨练你的一点欺骗技巧,第二个更有趣、更高级


我记得为了读写GIF文件,必须用C实现LZW编码和解码。这将是一个很好的项目,因为LZW压缩非常聪明-我所看到的唯一一个算法,我认为应该获得专利,而且比ZIP更容易实现的目标ZIP是两个东西的组合,一个文件打包格式和一组压缩算法。第一个有点平淡无奇,但会磨练你的一点欺骗技巧,第二个更有趣、更高级


我记得为了读写GIF文件,必须用C实现LZW编码和解码。这将是一个很好的项目,因为LZW压缩非常聪明——我所看到的唯一一个算法,我认为应该获得专利,而且比ZIP更容易实现。你可能想看看开源应用程序,如ZIP、Gzip、Bzip和7-ZIP,它们在整个压缩文件方面实现了自己的变体。7-Zip有自己的压缩格式(7z),实际上比直接使用Zip的文件要小,所以这里有一些东西需要学习


我不是说复制他们的代码或任何东西,而是看一看某人以前做过的事情,通常可以让你以不同的方式思考问题,这将帮助你获得前进的动力。

你可能想看看开源应用程序,如Zip、Gzip、Bzip和7-Zip,它们在整个压缩文件方面实现了自己的变体。7-Zip有自己的压缩格式(7z),实际上比直接使用Zip的文件要小,所以这里有一些东西需要学习


我不是说复制他们的代码或任何东西,而是看一看某人以前做过的事情,通常可以让你以不同的方式思考问题,这将帮助你获得前进的动力。

只有一个问题的答案,我将此作为一条评论发布,但我认为这是一个学习项目的好主意。根据您以前的C经验,这可能过于雄心勃勃,但对于解决它的程序来说,这是一个相当明确的问题,如果您陷入困境,您可以查看它。此外,您还有一种简单的方法来验证它是否有效。注意:一旦您可以让您自己的程序工作以解压缩和压缩它自己的文件,下一步就是使它与其他程序兼容(即,解压缩它没有创建的zip文件,让其他程序压缩它创建的文件)。这对于具有互操作性的现实世界编程来说是值得的。只有一个问题的答案,我将此作为评论发布,但我认为这对于学习项目来说是一个好主意。根据您以前的C经验,这可能过于雄心勃勃,但对于解决它的程序来说,这是一个相当明确的问题,如果您陷入困境,您可以查看它。此外,您还有一种简单的方法来验证它是否有效。注意:一旦您可以让您自己的程序工作以解压缩和压缩它自己的文件,下一步就是使它与其他程序兼容(即,解压缩它没有创建的zip文件,让其他程序压缩它创建的文件)。对于具有互操作性的实际编程来说,这是值得的。+1表示建议使用哈夫曼编码和游程编码,因为它们都是学习的好选择。+1表示建议使用哈夫曼编码和游程编码,因为它们都是学习的好选择。