rendered paste body#include <iostream>#include <fstream>#include "include/zlib.h"using namespace std;int main(void) { /*char buffer[4096]; char compressed[4096]; ifstream file("test.bmp", ios::in | ios::binary | ios::ate); int size = file.tellg(); file.seekg(ios::beg); memset(buffer, 0, 4096); file.read(buffer, size); cout << buffer; int out = 4096; compress((Bytef*)compressed, (uLongf*)&out, (const Bytef*)buffer, size); std::ofstream outfile("test.dat"); outfile.write(compressed, out); return 0;*/ /*char buffer[4096]; char uncompressed[4096]; std::ifstream file("test.dat", ios::in|ios::binary|ios::ate); int size = file.tellg(); file.seekg(ios::beg); memset(buffer, 0, 4096); file.read(buffer, size); int out = 4096; uncompress((Bytef*)uncompressed, (uLongf*)&out, (const Bytef*)buffer, 1000); std::ofstream outfile("out.bmp"); outfile.write(uncompressed, out); return 0;*/ z_stream strm; strm.zalloc = Z_NULL; strm.zfree = Z_NULL; strm.opaque = Z_NULL; strm.avail_in = 0; strm.next_in = Z_NULL; inflateInit(&strm); char buffer[4096]; char uncompressed[4096]; std::ifstream file("test.dat", ios::in|ios::binary|ios::ate); int size = file.tellg(); file.seekg(ios::beg); memset(buffer, 0, 4096); file.read(buffer, size); int out = 4096; do { strm.avail_in = size; strm.next_in = (Bytef *)buffer; strm.avail_out = 4096; strm.next_out = (Bytef *)uncompressed; inflate(&strm, Z_NO_FLUSH); }while(strm.avail_out == 0); inflateEnd(&strm); return 0;}