Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Create a Zip Entirely in MemoryDemonstrates how to create a .zip from in-memory byte data and strings, and to write the .zip to an in-memory image.
#include <CkCrypt2.h> #include <CkZip.h> #include <CkByteData.h> #include <CkZipEntry.h> #include <CkFileAccess.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkCrypt2 crypt; CkZip zip; bool success = zip.NewZip("test.zip"); if (success != true) { strOut.append(zip.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Add the bytes 0x00 0x01 0x02 0x03 ... 0x0F as a file in the .zip CkByteData binFileData; success = crypt.Decode("000102030405060708090A0B0C0D0E0F","hex",binFileData); CkZipEntry *entry = zip.AppendData("binaryData.dat",binFileData); delete entry; // Add the string "Hello World!" to the .zip entry = zip.AppendString2("helloWorld.txt","Hello World!","utf-8"); delete entry; CkByteData zipFileInMemory; success = zip.WriteToMemory(zipFileInMemory); // We could save these files to a file, and it is a valid .zip CkFileAccess fac; success = fac.WriteEntireFile("test.zip",zipFileInMemory); if (success != true) { strOut.append(fac.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } strOut.append("Zip Created!"); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.