![]() |
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
(Unicode C) Find ZIP Entries Matching a Wildcard Pattern Using EntryMatchingSee more Zip Examples This example demonstrates how to use the The wildcard character This method is useful for:
Suppose the ZIP archive contains: Notice that the ZIP archive contains an explicit directory entry named When searching with the pattern The example searches for:
Note: This example requires Chilkat v11.0.0 or greater.
#include <C_CkZipW.h> #include <C_CkZipEntryW.h> void ChilkatSample(void) { BOOL success; HCkZipW zip; HCkZipEntryW entry; success = FALSE; success = FALSE; // Open an existing ZIP archive. zip = CkZipW_Create(); success = CkZipW_OpenZip(zip,L"example.zip"); if (success == FALSE) { wprintf(L"%s\n",CkZipW_lastErrorText(zip)); CkZipW_Dispose(zip); return; } entry = CkZipEntryW_Create(); // ------------------------------------------------------------ // Find the first .png file in the ZIP archive. success = CkZipW_EntryMatching(zip,L"*.png",entry); if (success == TRUE) { wprintf(L"Found PNG file:\n"); wprintf(L" %s\n",CkZipEntryW_fileName(entry)); wprintf(L"\n"); } // ------------------------------------------------------------ // Find the first entry beneath the docs directory. // // Note: ZIP archives may optionally contain explicit directory // entries such as "docs/" in addition to file entries. // Therefore, the first matching entry could be the directory // itself rather than a file contained within the directory. success = CkZipW_EntryMatching(zip,L"docs/*",entry); if (success == TRUE) { wprintf(L"First matching docs entry:\n"); wprintf(L" %s\n",CkZipEntryW_fileName(entry)); wprintf(L" IsDirectory = %d\n",CkZipEntryW_getIsDirectory(entry)); wprintf(L"\n"); } // ------------------------------------------------------------ // Find the first JSON file anywhere in the ZIP archive. success = CkZipW_EntryMatching(zip,L"*.json",entry); if (success == TRUE) { wprintf(L"Found JSON file:\n"); wprintf(L" %s\n",CkZipEntryW_fileName(entry)); wprintf(L"\n"); } // ------------------------------------------------------------ // The matching is performed against the full stored ZIP path. // For example: // // docs/readme.txt // images/logo.png // data/config/settings.json // // The wildcard '*' matches zero or more characters. CkZipW_CloseZip(zip); wprintf(L"Done.\n"); CkZipW_Dispose(zip); CkZipEntryW_Dispose(entry); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.