Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
    bool unzip(const QString& in_file_path, const QString& out_file_path)  
    {  
        QuaZip archive(in_file_path);  
        
if (!archive.open(QuaZip::mdUnzip))  
            
return false;  
          
        QString path 
= out_file_path;  
        
if (!path.endsWith("/"&& !out_file_path.endsWith("\\"))  
            path 
+= "/";  
      
        QDir dir(out_file_path);  
        
if (!dir.exists())  
            dir.mkpath(out_file_path);  
      
        
forbool f = archive.goToFirstFile(); f; f = archive.goToNextFile() )  
        {  
            QString filePath 
= archive.getCurrentFileName();  
            QuaZipFile zFile(archive.getZipName(), filePath);  
            zFile.open(QIODevice::ReadOnly );  
            QByteArray ba 
= zFile.readAll();  
            zFile.close();  
      
            
if (filePath.endsWith("/"))  
            {  
                dir.mkpath(filePath);  
            }  
            
else  
            {  
                QFile dstFile(path 
+ filePath);  
                
if (!dstFile.open(QIODevice::WriteOnly))  
                    
return false;  
                dstFile.write(ba);  
                dstFile.close();  
            }  
        }  
      
        
return true;  
    }  

源于:
http://blog.csdn.net/kfbyj/article/details/13888101
证实可用.
posted on 2015-10-16 16:33 ccsdu2009 阅读(1017) 评论(0)  编辑 收藏 引用 所属分类: QT编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理