Sample code for 30+ languages & platforms
Tcl

Add Text Files to a ZIP Using AddString

See more Zip Examples

This example demonstrates how to use the AddString method to add multiple text files directly from string variables into a ZIP archive.

Each string is converted to bytes using the specified character encoding and stored as a separate file entry within the ZIP archive.

This method is useful for dynamically generating small text files such as configuration files, reports, JSON documents, XML, or log files entirely in memory.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set zip [new_CkZip]

set success [CkZip_NewZip $zip "stringEntries.zip"]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Add a README text file.
set readmeText "This ZIP archive was created using AddString."

set success [CkZip_AddString $zip "docs/readme.txt" $readmeText "utf-8"]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Add a JSON configuration file.
set jsonText "{ \"server\": \"example.com\", \"port\": 443 }"

set success [CkZip_AddString $zip "config/settings.json" $jsonText "utf-8"]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Add a small XML document.
set xmlText "<root><status>OK</status></root>"

set success [CkZip_AddString $zip "xml/status.xml" $xmlText "utf-8"]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

# Write the ZIP archive to disk and close it.
set success [CkZip_WriteZipAndClose $zip]
if {$success == 0} then {
    puts [CkZip_lastErrorText $zip]
    delete_CkZip $zip
    exit
}

puts "ZIP archive created successfully."

delete_CkZip $zip