![]() |
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) Unzip a Text File Entry into a StringBuilder Using ZipEntry.UnzipToSbSee more Zip Examples This example demonstrates how to use the The ZIP entry is uncompressed entirely in memory and appended to the StringBuilder without creating a temporary file on disk. This is useful when:
The
The
Suppose the ZIP archive contains: The example inflates the JSON file directly into a
#include <C_CkZipW.h> #include <C_CkZipEntryW.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { BOOL success; HCkZipW zip; HCkZipEntryW entry; HCkStringBuilderW sb; int lineEndingBehavior; const wchar_t *srcCharset; success = FALSE; zip = CkZipW_Create(); // Open an existing ZIP archive. success = CkZipW_OpenZip(zip,L"qa_data/zips/configFiles.zip"); if (success == FALSE) { wprintf(L"%s\n",CkZipW_lastErrorText(zip)); CkZipW_Dispose(zip); return; } // Locate the JSON file entry within the ZIP archive. entry = CkZipEntryW_Create(); success = CkZipW_EntryOf(zip,L"config/settings.json",entry); if (success == FALSE) { wprintf(L"ZIP entry not found.\n"); CkZipW_CloseZip(zip); CkZipW_Dispose(zip); CkZipEntryW_Dispose(entry); return; } // ------------------------------------------------------------ // Inflate the ZIP entry directly into a StringBuilder. // // The uncompressed text is appended to the StringBuilder. // sb = CkStringBuilderW_Create(); // Leave line endings unchanged. lineEndingBehavior = 0; // Interpret the uncompressed bytes as UTF-8 text. srcCharset = L"utf-8"; success = CkZipEntryW_UnzipToSb(entry,lineEndingBehavior,srcCharset,sb); if (success == FALSE) { wprintf(L"%s\n",CkZipEntryW_lastErrorText(entry)); CkZipW_Dispose(zip); CkZipEntryW_Dispose(entry); CkStringBuilderW_Dispose(sb); return; } wprintf(L"Uncompressed text:\n"); wprintf(L"\n"); wprintf(L"%s\n",CkStringBuilderW_getAsString(sb)); CkZipW_CloseZip(zip); wprintf(L"Done.\n"); CkZipW_Dispose(zip); CkZipEntryW_Dispose(entry); CkStringBuilderW_Dispose(sb); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.