首页 > 编程语言 >C++源程序的压缩和解压

C++源程序的压缩和解压

时间:2022-09-28 11:55:06浏览次数:73  
标签:解压 压缩 C++ 单词 文本 源程序

C++源程序的压缩和解压

实验1:C++源程序的压缩和解压

一、必做内容:

(一)压缩器
1.为了提高C++源程序的可读性,C++程序在书写过程中加入了空行、空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以存贮一个删除了所有不必要空格和注释的C++源程序的压缩文本。
2.由于C++源程序是由一些具有特定功能的单词组成的,因此我们可以采用转换为编码的方法来进一步实现减小源文件大小的压缩功能。
为了实现这一效果,我们可以先把C++源代码中的各类单词(记号)进行拼装分离,并进行编码的转换。说明:C++语言包含了几种类型的单词(记号):标识符,关键字,数(包括整数、浮点数),字符串、注释、特殊符号(分界符)和运算符号等【详细的单词类别及单词组成规则见另外的文件说明】。
3.把具有功能1和功能2的C++源程序压缩器实现,并得到压缩文本。

(二)解压器
1.能够把通过(一)压缩器压缩得到的C++源程序压缩文本进行重新解压并还原出除了被删除的所有不必要空格和注释的C++源程序。

(三)要求应用程序应为windows界面,在一个界面中可以实现压缩与解压两个功能。
该界面应该具备的详细功能有:

1.打开一个C++源文件,并可以浏览该源程序。
2.压缩所打开的C++源程序
3.查看或浏览得到的压缩文本
4.打开一个C++源程序的压缩文本,并可以浏览该压缩文本。
5.解压该压缩文本,并可以浏览所解压出来的源程序。

(四)应该书写完善的软件设计文档。

二、完成时间:4周(共28天)

三、提交材料和提交方法:

通过砺儒云课堂的实验1提交入口进行提交。
提交的资料包括有:实验源程序、可执行程序、文档、测试数据文件以及测试结果

四、完成方式:每个学生自行独立完成。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

标签:解压,压缩,C++,单词,文本,源程序
From: https://www.cnblogs.com/codewriter/p/16737507.html

相关文章

  • 14、Android Studio通过http向C++服务端传递base64图片,然后对图片处理(写入本地)返回数
    基本思想:最近做了一个项目需要使用将androidstudio中抓取的视频帧和一些数据上传服务器处理,然后将处理结果返回给androidstudio手机端一、因为不太会写通信,着实补充了一......
  • 6、C++ 静态编译链接使用库,及例子libfacedetection人脸识别应用
    直接上例子:存在三个文件 example.cpp中的文件#include<iostream>#include"function.h"usingnamespacestd;intfun(inta,intb);intmain(){cout<<fun(2,3)<<endl;cout<<......
  • C++ STL 概述_严丝合缝的合作者们
    1.初识STL什么是STL?STL(StandardTemplateLibrary)是C++以模板形式提供的一套标准库,提供了很多开发过程需要的通用功能模块。使用STL,可以让开发者将主要精力用于解......
  • C++ STL 概述_严丝合缝的合作者们
    1.初识STL什么是STL?STL(StandardTemplateLibrary)是C++以模板形式提供的一套标准库,提供了很多开发过程需要的通用功能模块。使用STL,可以让开发者将主要精力用于解决......
  • 实现C++智能指针
    在对象切片一文中,提到可使用充当智能指针的类shape_wrapper,可以简化资源的管理,从根本上消除资源(包括内存)泄漏的可能性,本节来看下如何将shape_wrapper改造成一个完整的智......
  • C++语言程序设计基础 内联函数
    C++内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。对内联函数进行任何修改,都需要重新编译函数......
  • C++学习之指针进阶(转载)
    1指针和数组作用:利用指针访问数组中元素示例:intarr[]={1,2,3,4,5,6,7,8,9,10};int*p=arr;//指向数组的指针cout<<"第一个元素:"<<arr[0]<<endl;......
  • C++学习 Day9-01 指针-定义及使用
    指针变量定义语法:数据类型*变量名;示例:intmain(){ //1、指针的定义 inta=10;//定义整型变量a //指针定义语法:数据类型*变量名; int*p; //指针变量......
  • C++11 获取当前时间戳
    C++11标准库chrono中包含了获取系统当前时间的工具。直接基于chrono获取,一般获取ms级的时间戳#include<chrono>longlongget_cur_time(){//获取操作系统......
  • go tar解压 当前目录
    func main() {   unTarDir := "." //解压到当前目录   tarFile, err := os.Open("demo.tar")   if err != nil {      log.Fatalln(err)   ......