Go to file
2019-08-22 17:57:03 +02:00
.circleci removed Doxygen from release build 2018-06-24 18:02:39 +02:00
src added nodiscard attributes 2019-08-19 16:40:13 +02:00
.gitignore better gitignore 2019-06-16 17:21:11 +02:00
.gitlab-ci.yml added gitlabCI config file 2018-11-02 14:41:43 +01:00
.travis.yml woops, forgot these lines 2018-11-21 01:21:13 +01:00
CMakeLists.txt removed Doxygen from release build 2018-06-24 18:02:39 +02:00
LICENSE Create LICENSE 2018-04-08 19:07:43 +02:00
Makefile Stripping binary from unneeded data 2019-08-22 17:56:58 +02:00
README.md Update README.md 2018-11-21 00:38:26 +01:00

CircleCI Travis Badge Codacy Badge CodeFactor SonarCloud Badge Spacemacs Badge

LZW Compressing tool

This is a university assignment for which I aim to create an LZW algorithm implementation to create a small tool similar to gzip and gunzip that can compress and uncompress files in a lossless fashion.

This project is written is C++17, compiled with clang under a UNIX environment. Other compilers and environments will not be tested.

How to use it

Currently, five different options are available to the user:

  • -h or --help will show how to use projet_lzw
  • -c or --compress tells projet_lzw to compress the input file
  • -u or --uncompress tells projet_lzw to uncompress the input file
  • -i <file> or --input <file path> specifies the input file to be compressed or uncompressed (MANDATORY)
  • -o <file> or --output <file path> specifies the name of the output file. If not used, the default output name for compression is output.lzw, and the default name for uncompressing is <filename>_uncompressed.

By default, projet_lzw will uncompress the (mandatory) input file.

It is planned to add in the future a sixth option, -p or --passes that will allow to compress multiple times the input file.