Zadání 4. domácího úkolu – RLE komprese

Napište program, který bude komprimovat a dekomprimovat soubory metodou RLE (Run Length Encoding).

Ovládání programu

Komprese

  pack_rle -s <vystupni_soubor> <1_vstupni_soubor> ... <n_vstupni_soubor> 

Dekomprese

  pack_rle -r <vstupni_soubor>
Pozor: Ovládání je třeba dodržet, kdo nedodrží, bude program automaticky vrácen či negativně hodnocen.
Toto nepovažuji za přísné omezení, bo splnění podmínky je triviální, neboť nabízené programy pack a pack2 toto již implementují.

Odevzdání

Příklady běhu:

(zde předváděné řešení zpracovává soubory s mezery v názvu, to není nutno implementovat)
[xbayer@katana-ng:~/skola/ib001/2014/u4/test] ./pack_rle -s zapackovany.pack ctvrty.txt  druhy\ s\ mezerou.txt paty.txt  prvni.txt  sedmy.data  sesty.data  treti.txt  01.pdf  02.pdf  03.pdf
zapackovavame... ctvrty.txt
zapackovavame... druhy s mezerou.txt
zapackovavame... paty.txt
zapackovavame... prvni.txt
zapackovavame... sedmy.data
zapackovavame... sesty.data
zapackovavame... treti.txt
zapackovavame... 01.pdf
zapackovavame... 02.pdf
zapackovavame... 03.pdf
[xbayer@katana-ng:~/skola/ib001/2014/u4/test] cp zapackovany.pack pack_rle pokus/
[xbayer@katana-ng:~/skola/ib001/2014/u4/test] cd pokus/
[xbayer@katana-ng:~/skola/ib001/2014/u4/test/pokus] ./pack_rle -r zapackovany.pack 
depackovavame... ctvrty.txt
depackovavame... druhy s mezerou.txt
depackovavame... paty.txt
depackovavame... prvni.txt
depackovavame... sedmy.data
depackovavame... sesty.data
depackovavame... treti.txt
depackovavame... 01.pdf
depackovavame... 02.pdf
depackovavame... 03.pdf