Unicode C
Unicode C
Decompress Bytes
See more Compression Examples
Demonstrates how to decompress binary data.Chilkat Unicode C Downloads
#include <C_CkFileAccessW.h>
#include <C_CkByteData.h>
#include <C_CkCompressionW.h>
void ChilkatSample(void)
{
BOOL success;
HCkFileAccessW fac;
HCkByteData compressedBytes;
HCkCompressionW compress;
HCkByteData decompressedBytes;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// See this example to compress bytes: Compress Bytes
fac = CkFileAccessW_Create();
compressedBytes = CkByteData_Create();
success = CkFileAccessW_ReadEntireFile(fac,L"qa_data/compressed/compressedBmp.dat",compressedBytes);
if (CkFileAccessW_getLastMethodSuccess(fac) != TRUE) {
wprintf(L"%s\n",CkFileAccessW_lastErrorText(fac));
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(compressedBytes);
return;
}
compress = CkCompressionW_Create();
CkCompressionW_putAlgorithm(compress,L"deflate");
decompressedBytes = CkByteData_Create();
success = CkCompressionW_DecompressBytes(compress,compressedBytes,decompressedBytes);
if (CkCompressionW_getLastMethodSuccess(compress) != TRUE) {
wprintf(L"%s\n",CkCompressionW_lastErrorText(compress));
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(compressedBytes);
CkCompressionW_Dispose(compress);
CkByteData_Dispose(decompressedBytes);
return;
}
success = CkFileAccessW_WriteEntireFile(fac,L"qa_output/decompressed.bmp",decompressedBytes);
if (CkFileAccessW_getLastMethodSuccess(fac) != TRUE) {
wprintf(L"%s\n",CkFileAccessW_lastErrorText(fac));
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(compressedBytes);
CkCompressionW_Dispose(compress);
CkByteData_Dispose(decompressedBytes);
return;
}
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(compressedBytes);
CkCompressionW_Dispose(compress);
CkByteData_Dispose(decompressedBytes);
}