![]() |
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) Iterate Through ZIP Entries Using EntryAt and ZipEntry.GetNextSee more Zip ExamplesThis example demonstrates how to iterate through all entries in a ZIP archive using:
The example prints each ZIP entry's stored filename and whether the entry is a file or directory. This approach is useful when sequentially processing ZIP entries without repeatedly calling Suppose the ZIP archive contains: The example iterates through each entry in the order stored within the ZIP archive.
#include <C_CkZip.h> #include <C_CkZipEntry.h> void ChilkatSample(void) { BOOL success; HCkZip zip; HCkZipEntry entry; success = FALSE; zip = CkZip_Create(); // Open an existing ZIP archive. success = CkZip_OpenZip(zip,"c:/temp/example.zip"); if (success == FALSE) { printf("%s\n",CkZip_lastErrorText(zip)); CkZip_Dispose(zip); return; } // A ZIP archive may contain zero entries. if (CkZip_getNumEntries(zip) == 0) { printf("The ZIP archive is empty.\n"); CkZip_CloseZip(zip); CkZip_Dispose(zip); return; } // ------------------------------------------------------------ // Get the first ZIP entry. // // EntryAt(0,entry) initializes the ZipEntry object so that // it represents the first entry in the ZIP archive. // entry = CkZipEntry_Create(); success = CkZip_EntryAt(zip,0,entry); if (success == FALSE) { printf("%s\n",CkZip_lastErrorText(zip)); CkZip_Dispose(zip); CkZipEntry_Dispose(entry); return; } // ------------------------------------------------------------ // Iterate through all ZIP entries. // // GetNext updates the same ZipEntry object so that it // represents the next entry in the ZIP archive. // while ((success == TRUE)) { if (CkZipEntry_getIsDirectory(entry) == TRUE) { printf("[Directory] %s\n",CkZipEntry_fileName(entry)); } else { printf("[File] %s\n",CkZipEntry_fileName(entry)); } // Advance to the next entry. success = CkZipEntry_GetNext(entry); } CkZip_CloseZip(zip); printf("Done.\n"); CkZip_Dispose(zip); CkZipEntry_Dispose(entry); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.