[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の通信で圧縮形式の電文を扱うプログラムをやる(というか思い出す)