C
C
Compress Bytes
See more Compression Examples
Demonstrates how to compress binary data.Chilkat C Downloads
#include <C_CkFileAccess.h>
#include <C_CkByteData.h>
#include <C_CkCompression.h>
void ChilkatSample(void)
{
BOOL success;
HCkFileAccess fac;
HCkByteData fileBytes;
HCkCompression compress;
HCkByteData compressedBytes;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
fac = CkFileAccess_Create();
fileBytes = CkByteData_Create();
success = CkFileAccess_ReadEntireFile(fac,"qa_data/bmp/big.bmp",fileBytes);
if (CkFileAccess_getLastMethodSuccess(fac) != TRUE) {
printf("%s\n",CkFileAccess_lastErrorText(fac));
CkFileAccess_Dispose(fac);
CkByteData_Dispose(fileBytes);
return;
}
compress = CkCompression_Create();
CkCompression_putAlgorithm(compress,"deflate");
compressedBytes = CkByteData_Create();
success = CkCompression_CompressBytes(compress,fileBytes,compressedBytes);
if (CkCompression_getLastMethodSuccess(compress) != TRUE) {
printf("%s\n",CkCompression_lastErrorText(compress));
CkFileAccess_Dispose(fac);
CkByteData_Dispose(fileBytes);
CkCompression_Dispose(compress);
CkByteData_Dispose(compressedBytes);
return;
}
success = CkFileAccess_WriteEntireFile(fac,"qa_output/compressedBmp.dat",compressedBytes);
if (CkFileAccess_getLastMethodSuccess(fac) != TRUE) {
printf("%s\n",CkFileAccess_lastErrorText(fac));
CkFileAccess_Dispose(fac);
CkByteData_Dispose(fileBytes);
CkCompression_Dispose(compress);
CkByteData_Dispose(compressedBytes);
return;
}
CkFileAccess_Dispose(fac);
CkByteData_Dispose(fileBytes);
CkCompression_Dispose(compress);
CkByteData_Dispose(compressedBytes);
}