मैं क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन के लिए फ़ाइलों को संग्रहीत करने का प्रयास कर रहा हूं, और ऐसा लगता है कि मिनीज़िप (ज़्लिब पर निर्मित) आर्काइवर्स के रूप में पोर्टेबल के बारे में है।मैं मिनीज़िप (ज़्लिब पर) का उपयोग कैसे करूं?
जब मैं निम्नलिखित डमी कोड चलाने का प्रयास है, तथापि, मैं एक प्रणाली त्रुटि मिलती है [my executable] has stopped working. Windows can check online for a solution to the problem.
किसी को भी मदद कर सकते हैं मुझे देखते हैं कि कैसे इस पुस्तकालय उपयोग कैसे करें? — (कोई डॉक्टर या कहीं भी ट्यूटोरियल है कि मैं पा सकते हैं)
zip_fileinfo zfi;
int main()
{
zipFile zf = zipOpen("myarch.zip",APPEND_STATUS_ADDINZIP);
int ret = zipOpenNewFileInZip(zf,
"myfile.txt",
&zfi,
NULL, 0,
NULL, 0,
"my comment for this interior file",
Z_DEFLATED,
Z_NO_COMPRESSION
);
zipCloseFileInZip(zf);
zipClose(zf, "my comment for exterior file");
return 0;
}
चश्मा: Msys + MinGW, विंडोज 7, zlibwapi.dll का उपयोग कर zlib125dll.zip/dll32
यह अच्छा है। हालांकि कुछ मुद्दे: 1. यह मानता है कि पूरी फ़ाइल मेमोरी में फिट हो सकती है, जो कुछ हद तक एक सरल दृश्य है, लेकिन शायद इस नमूने के लिए पर्याप्त है। 2. कोई कारण नहीं है कि 0 लंबाई फ़ाइल आउटपुट एक त्रुटि है यदि प्रारंभिक फ़ाइल लंबाई 0 है। 3. मान लें कि यह एक त्रुटि है, टर्नरी ऑपरेशन की कोई आवश्यकता नहीं है। यानी 'अगर (zipWriteInFileInZip (zf, size == 0? "": & buffer [0], आकार)) '' (zipWriteInFileInZip (zf, & buffer [0], आकार) के रूप में लिखा जा सकता है) '। 4. मैं अंडरस्कोर उपसर्ग का उपयोग न करने की सलाह दूंगा। मुझे पता है कि आप इसके बाद लोअरकेस अक्षर का उपयोग कर रहे हैं, लेकिन ... * shrug * – Adrian
आपके द्वारा उठाए गए दूसरे और तीसरे अंक गलत हैं। आकार == 0 चेक यह सुनिश्चित करना है कि बफर [0] शून्य लंबाई पर निष्पादित नहीं किया गया है। यदि कथन में लॉजिकल या ऑपरेशन तब सुनिश्चित करता है कि शून्य फ़ाइल फ़ाइलों को ज़िप फ़ाइल में सही तरीके से लिखा गया है, और बाद में टर्नरी एक बार फिर यह सुनिश्चित करने के लिए कि बफर [0] शून्य लंबाई पर नहीं कहा जाता है। कोड सही ढंग से काम करता है और अपेक्षित के रूप में। – niemiro
इसे सी के रूप में टैग किया गया है, सी ++ नहीं। –