Go to file
2018-06-18 17:53:38 +02:00
.circleci update CircleCI 2018-05-25 13:39:55 +02:00
bin initial commit 2018-03-20 21:41:46 +01:00
build initial commit 2018-03-20 21:41:46 +01:00
debug initial commit 2018-03-20 21:41:46 +01:00
docs Added documentation generation as CMake target for Release 2018-05-25 13:20:46 +02:00
src Updated README.md 2018-06-18 17:53:38 +02:00
.gitignore Added documentation generation as CMake target for Release 2018-05-25 13:20:46 +02:00
.travis.yml hopefully will fix Travis-CI builds 2018-06-18 17:10:49 +02:00
CMakeLists.txt Added documentation generation as CMake target for Release 2018-05-25 13:20:46 +02:00
LICENSE Create LICENSE 2018-04-08 19:07:43 +02:00
README.md Updated README.md 2018-06-18 17:53:38 +02:00

CircleCI Travis Badge Codacy Badge CodeFactor 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.