![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C++) Remove an Entry from an Existing ZIP Using DeleteEntry
This example demonstrates how to use the The example:
Suppose the original ZIP archive contains:
After deleting
The entry is removed only from the in-memory ZIP object until a
Note: This example requires Chilkat v11.0.0 or greater.
#include <CkZip.h> #include <CkZipEntry.h> void ChilkatSample(void) { bool success = false; success = false; // ------------------------------------------------------------ // First create a ZIP archive containing three text files. CkZip zip; success = zip.NewZip("original.zip"); if (success == false) { std::cout << zip.lastErrorText() << "\r\n"; return; } const char *charset = "utf-8"; success = zip.AddString("a.txt","Contents of file A",charset); if (success == false) { std::cout << zip.lastErrorText() << "\r\n"; return; } success = zip.AddString("b.txt","Contents of file B",charset); if (success == false) { std::cout << zip.lastErrorText() << "\r\n"; return; } success = zip.AddString("c.txt","Contents of file C",charset); if (success == false) { std::cout << zip.lastErrorText() << "\r\n"; return; } // Write the ZIP archive to disk. // // The ZIP now contains: // // a.txt // b.txt // c.txt // success = zip.WriteZipAndClose(); if (success == false) { std::cout << zip.lastErrorText() << "\r\n"; return; } // ------------------------------------------------------------ // Open the existing ZIP archive for modification. CkZip zip2; success = zip2.OpenZip("original.zip"); if (success == false) { std::cout << zip2.lastErrorText() << "\r\n"; return; } // Find the entry named "b.txt". CkZipEntry entry; success = zip2.EntryOf("b.txt",entry); if (success == false) { std::cout << zip2.lastErrorText() << "\r\n"; return; } // Remove the entry from the in-memory ZIP object. // // At this point, the original ZIP file on disk is unchanged. // The deletion takes effect only after WriteZip or // WriteZipAndClose is called. success = zip2.DeleteEntry(entry); if (success == false) { std::cout << zip2.lastErrorText() << "\r\n"; return; } // Write the modified ZIP archive to a new file. zip2.put_FileName("modified.zip"); success = zip2.WriteZipAndClose(); if (success == false) { std::cout << zip2.lastErrorText() << "\r\n"; return; } // The modified ZIP now contains: // // a.txt // c.txt // std::cout << "ZIP archive updated successfully." << "\r\n"; } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.