見出し画像

[2024年06月]C言語で圧縮ファイルを作成する

zlibを使ってC言語で圧縮ファイルを作成する

RockyLinux9 に zlib の最新バージョン 1.3.1 をインストールする

wget https://www.zlib.net/zlib-1.3.1.tar.gz
tar zxf zlib-1.3.1.tar.gz
cd zlib-1.3.1
./configure
make
make check
make install

Qittaに投稿されているサンプルを参考に
test test test\n を 3回分含むデータを gzip 圧縮して out.gz に保存するC言語のソースを書く

/*
    gcc test.c -lz -o test
*/
#include <string.h>
#include <zlib.h>

int main(){
    char *data = "test test test\n";
    gzFile fi = gzopen("out.gz","wb");
    gzwrite(fi,data,strlen(data));
    gzwrite(fi,data,strlen(data));
    gzwrite(fi,data,strlen(data));
    gzclose(fi);
    return 0;
}

コンパイルして実行ファイル作成

gcc test.c -lz -o test

実行すると out.gz ファイルの出来上がり

./test

なんかゴタゴタ感もなくサラッと実行ファイルもできるし、実行もできるのが、C言語の好きなところ

次は、TCP/IPの通信で圧縮形式の電文を扱うプログラムをやる(というか思い出す)

この記事が気に入ったらサポートをしてみませんか?