| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 
 
 
 
 
 | 2 | <html xmlns="http://www.w3.org/1999/xhtml"> | 
 
 
 
 
 | 3 | <head> | 
 
 
 
 
 | 4 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | 
 
 
 
 
 | 5 | <title>QuaZIP: QuaZip FAQ</title> | 
 
 
 
 
 | 6 | <link href="tabs.css" rel="stylesheet" type="text/css"/> | 
 
 
 
 
 | 7 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> | 
 
 
 
 
 | 8 | </head> | 
 
 
 
 
 | 9 | <body> | 
 
 
 
 
 | 10 | <!-- Generated by Doxygen 1.7.4 --> | 
 
 
 
 
 | 11 | <div id="top"> | 
 
 
 
 
 | 12 | <div id="titlearea"> | 
 
 
 
 
 | 13 | <table cellspacing="0" cellpadding="0"> | 
 
 
 
 
 | 14 | <tbody> | 
 
 
 
 
 | 15 | <tr style="height: 56px;"> | 
 
 
 
 
 | 16 | <td style="padding-left: 0.5em;"> | 
 
 
 
 
 | 17 | <div id="projectname">QuaZIP <span id="projectnumber">quazip-0-7-2</span></div> | 
 
 
 
 
 | 18 | </td> | 
 
 
 
 
 | 19 | </tr> | 
 
 
 
 
 | 20 | </tbody> | 
 
 
 
 
 | 21 | </table> | 
 
 
 
 
 | 22 | </div> | 
 
 
 
 
 | 23 | <div id="navrow1" class="tabs"> | 
 
 
 
 
 | 24 | <ul class="tablist"> | 
 
 
 
 
 | 25 | <li><a href="index.html"><span>Main Page</span></a></li> | 
 
 
 
 
 | 26 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> | 
 
 
 
 
 | 27 | <li><a href="annotated.html"><span>Classes</span></a></li> | 
 
 
 
 
 | 28 | <li><a href="files.html"><span>Files</span></a></li> | 
 
 
 
 
 | 29 | <li><a href="dirs.html"><span>Directories</span></a></li> | 
 
 
 
 
 | 30 | </ul> | 
 
 
 
 
 | 31 | </div> | 
 
 
 
 
 | 32 | </div> | 
 
 
 
 
 | 33 | <div class="header"> | 
 
 
 
 
 | 34 | <div class="headertitle"> | 
 
 
 
 
 | 35 | <div class="title"><a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> FAQ </div>  </div> | 
 
 
 
 
 | 36 | </div> | 
 
 
 
 
 | 37 | <div class="contents"> | 
 
 
 
 
 | 38 | <div class="textblock"><p><a class="anchor" id="faq-non-QIODevice"></a> Q. Is there any way to use <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> in <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> where you are supposed to use normal (non-zipped) file, but not through <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> API?</p> | 
 
 
 
 
 | 39 | <p>A. Usually not. For example, if you are passing file name to some database driver (like SQLite), <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> usually just passes this name down to the 3rd-party library, which is usually does not know anything about <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> and therefore there is no way to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as normal file. However, if we are talking about some place where you pass file name, and then indirectly use <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qfile.html">QFile</a> to open it, then it is a good idea to make overloaded method, which accepts a <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> pointer. Then you would be able to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as well as many other nice things such as <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qbuffer.html">QBuffer</a> or <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qprocess.html">QProcess</a>.</p> | 
 
 
 
 
 | 40 | <p><a class="anchor" id="faq-zip64"></a> Q. Can QuaZIP handle files larger than 4GB? What about zip64 standard?</p> | 
 
 
 
 
 | 41 | <p>A. Starting with version 0.6, QuaZIP uses Minizip 1.1 with zip64 support which should handle large files perfectly. The zip64 support in Minizip looks like it's not 100% conforming to the standard, but 3rd party tools seem to have no problem with the resulting archives.</p> | 
 
 
 
 
 | 42 | <p><a class="anchor" id="faq-seekable"></a> Q. Can QuaZIP write archives to a sequential <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> like QTcpSocket?</p> | 
 
 
 
 
 | 43 | <p>A. Not yet. It is not supported by vanilla Minizip (the back-end QuaZIP uses), although theoretically possible according to the ZIP standard. It would require some Minizip modifications that would allow it to detect non-seekable I/O and produce necessary output structures. QuaZIP already writes data descriptor which is necessary for non-seekable I/O. The only thing that is apparently left is to make Minizip fill local headers with correct values and forget about seeking after closing the file. </p> | 
 
 
 
 
 | 44 | </div></div> | 
 
 
 
 
 | 45 | <hr class="footer"/><address class="footer"><small>Generated on Sun Apr 3 2016 08:26:24 for QuaZIP by  | 
 
 
 
 
 | 46 | <a href="http://www.doxygen.org/index.html"> | 
 
 
 
 
 | 47 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> | 
 
 
 
 
 | 48 | </body> | 
 
 
 
 
 | 49 | </html> |