日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

C/C++ Zlib库封装MyZip压缩类

發布時間:2023/11/30 windows 49 coder
生活随笔 收集整理的這篇文章主要介紹了 C/C++ Zlib库封装MyZip压缩类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Zlib是一個開源的數據壓縮庫,提供了一種通用的數據壓縮和解壓縮算法。它最初由Jean-Loup Gailly和Mark Adler開發,旨在成為一個高效、輕量級的壓縮庫,其被廣泛應用于許多領域,包括網絡通信、文件壓縮、數據庫系統等。其壓縮算法是基于DEFLATE算法,這是一種無損數據壓縮算法,通常能夠提供相當高的壓縮比。

在軟件開發中,文件的壓縮和解壓縮是一項常見的任務,而ZIP是一種被廣泛應用的壓縮格式。為了方便地處理ZIP壓縮和解壓縮操作,開發者通常使用各種編程語言和庫來實現這些功能。本文將聚焦于一個簡化的C++實現,通過分析代碼,我們將深入了解其設計和實現細節。

類的功能實現

MyZip類旨在提供簡單易用的ZIP壓縮和解壓縮功能。通過成員函數CompressUnCompress,該類使得對目錄的ZIP壓縮和ZIP文件的解壓變得相對容易。

ZIP壓縮函數 Compress

Compress函數通過zlib庫提供的ZIP壓縮功能,遞歸地將目錄下的文件添加到ZIP文件中。其中,nyCollectfileInDirtoZip函數負責遍歷目錄,而nyAddfiletoZip函數則用于添加文件到ZIP中。這種設計使得代碼模塊化,易于理解。

ZIP解壓函數 UnCompress

UnCompress函數通過zlib庫提供的ZIP解壓功能,將ZIP文件解壓到指定目錄。函數中使用了unz系列函數來遍歷ZIP文件中的文件信息,并根據文件類型進行相應的處理。這包括創建目錄和寫入文件,使得解壓后的目錄結構與ZIP文件一致。

將如上的壓縮與解壓方法封裝成MyZip類,調用zip.Compress()實現壓縮目錄,調用zip.UnCompress()則實現解壓縮目錄。這些函數使用了zlib庫的ZIP壓縮和解壓縮功能,并可以在項目中被應用,該類代碼如下所示;

#define ZLIB_WINAPI
#include <string>
#include <iostream>
#include <vector>
#include <Shlwapi.h> 
#include <zip.h>
#include <unzip.h>
#include <zlib.h>

using namespace std;

#pragma comment(lib, "Shlwapi.lib")
#pragma comment(lib, "zlibstat.lib")

class MyZip
{
private:
  // 向ZIP文件中添加文件
  bool nyAddfiletoZip(zipFile zfile, const std::string& fileNameinZip, const std::string& srcfile)
  {
    if (NULL == zfile || fileNameinZip.empty())
    {
      return false;
    }

    int nErr = 0;
    zip_fileinfo zinfo = { 0 };
    tm_zip tmz = { 0 };
    zinfo.tmz_date = tmz;
    zinfo.dosDate = 0;
    zinfo.internal_fa = 0;
    zinfo.external_fa = 0;

    // 構建新文件名
    char sznewfileName[MAX_PATH] = { 0 };
    memset(sznewfileName, 0x00, sizeof(sznewfileName));
    strcat_s(sznewfileName, fileNameinZip.c_str());
    if (srcfile.empty())
    {
      strcat_s(sznewfileName, "\\");
    }

    // 在ZIP中打開新文件
    nErr = zipOpenNewFileInZip(zfile, sznewfileName, &zinfo, NULL, 0, NULL, 0, NULL, Z_DEFLATED, Z_DEFAULT_COMPRESSION);
    if (nErr != ZIP_OK)
    {
      return false;
    }

    // 如果有源文件,讀取并寫入ZIP文件
    if (!srcfile.empty())
    {
      FILE* srcfp = _fsopen(srcfile.c_str(), "rb", _SH_DENYNO);
      if (NULL == srcfp)
      {
        return false;
      }

      int numBytes = 0;
      char* pBuf = new char[1024 * 100];
      if (NULL == pBuf)
      {
        return false;
      }

      // 逐塊讀取源文件并寫入ZIP
      while (!feof(srcfp))
      {
        memset(pBuf, 0x00, sizeof(pBuf));
        numBytes = fread(pBuf, 1, sizeof(pBuf), srcfp);
        nErr = zipWriteInFileInZip(zfile, pBuf, numBytes);
        if (ferror(srcfp))
        {
          break;
        }
      }

      delete[] pBuf;
      fclose(srcfp);
    }

    // 關閉ZIP文件中的當前文件
    zipCloseFileInZip(zfile);

    return true;
  }

  // 遞歸地將目錄下的文件添加到ZIP
  bool nyCollectfileInDirtoZip(zipFile zfile, const std::string& filepath, const std::string& parentdirName)
  {
    if (NULL == zfile || filepath.empty())
    {
      return false;
    }

    bool bFile = false;
    std::string relativepath = "";
    WIN32_FIND_DATAA findFileData;

    char szpath[MAX_PATH] = { 0 };
    if (::PathIsDirectoryA(filepath.c_str()))
    {
      strcpy_s(szpath, sizeof(szpath) / sizeof(szpath[0]), filepath.c_str());
      int len = strlen(szpath) + strlen("\\*.*") + 1;
      strcat_s(szpath, len, "\\*.*");
    }
    else
    {
      bFile = true;
      strcpy_s(szpath, sizeof(szpath) / sizeof(szpath[0]), filepath.c_str());
    }

    HANDLE hFile = ::FindFirstFileA(szpath, &findFileData);
    if (NULL == hFile)
    {
      return false;
    }

    do
    {
      // 構建相對路徑
      if (parentdirName.empty())
        relativepath = findFileData.cFileName;
      else
        relativepath = parentdirName + "\\" + findFileData.cFileName;

      // 如果是目錄,遞歸處理子目錄
      if (findFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
      {
        if (strcmp(findFileData.cFileName, ".") != 0 && strcmp(findFileData.cFileName, "..") != 0)
        {
          nyAddfiletoZip(zfile, relativepath, "");

          char szTemp[MAX_PATH] = { 0 };
          strcpy_s(szTemp, filepath.c_str());
          strcat_s(szTemp, "\\");
          strcat_s(szTemp, findFileData.cFileName);
          nyCollectfileInDirtoZip(zfile, szTemp, relativepath);
        }
        continue;
      }

      char szTemp[MAX_PATH] = { 0 };
      if (bFile)
      {
        strcpy_s(szTemp, filepath.c_str());
      }
      else
      {
        strcpy_s(szTemp, filepath.c_str());
        strcat_s(szTemp, "\\");
        strcat_s(szTemp, findFileData.cFileName);
      }

      // 將文件添加到ZIP
      nyAddfiletoZip(zfile, relativepath, szTemp);

    } while (::FindNextFileA(hFile, &findFileData));

    FindClose(hFile);

    return true;
  }

  // 替換字符串中的所有指定子串
  std::string& replace_all(std::string& str, const std::string& old_value, const std::string& new_value)
  {
    while (true)
    {
      std::string::size_type pos(0);
      if ((pos = str.find(old_value)) != std::string::npos)
        str.replace(pos, old_value.length(), new_value);
      else
        break;
    }
    return str;
  }

  // 創建多級目錄
  BOOL CreatedMultipleDirectory(const std::string& direct)
  {
    std::string Directoryname = direct;
    if (Directoryname[Directoryname.length() - 1] != '\\')
    {
      Directoryname.append(1, '\\');
    }

    std::vector< std::string> vpath;
    std::string strtemp;
    BOOL  bSuccess = FALSE;

    // 遍歷目錄字符串,逐級創建目錄
    for (int i = 0; i < Directoryname.length(); i++)
    {
      if (Directoryname[i] != '\\')
      {
        strtemp.append(1, Directoryname[i]);
      }
      else
      {
        vpath.push_back(strtemp);
        strtemp.append(1, '\\');
      }
    }

    std::vector< std::string>::iterator vIter = vpath.begin();
    for (; vIter != vpath.end(); vIter++)
    {
      bSuccess = CreateDirectoryA(vIter->c_str(), NULL) ? TRUE : FALSE;
    }

    return bSuccess;
  }

public:
  // 壓縮目錄
  bool Compress(const std::string& dirpathName, const std::string& zipfileName, const std::string& parentdirName)
  {
    bool bRet = false;
    zipFile zFile = NULL;

    // 根據ZIP文件是否存在選擇打開方式
    if (!::PathFileExistsA(zipfileName.c_str()))
    {
      zFile = zipOpen(zipfileName.c_str(), APPEND_STATUS_CREATE);
    }
    else
    {
      zFile = zipOpen(zipfileName.c_str(), APPEND_STATUS_ADDINZIP);
    }

    if (NULL == zFile)
    {
      return bRet;
    }

    // 將目錄下的文件添加到ZIP
    if (nyCollectfileInDirtoZip(zFile, dirpathName, parentdirName))
    {
      bRet = true;
    }

    zipClose(zFile, NULL);

    return bRet;
  }

  // 解壓目錄
  bool UnCompress(const std::string& strFilePath, const std::string& strTempPath)
  {
    int nReturnValue;
    string tempFilePath;
    string srcFilePath(strFilePath);
    string destFilePath;

    // 打開ZIP文件
    unzFile unzfile = unzOpen(srcFilePath.c_str());
    if (unzfile == NULL)
    {
      return false;
    }

    unz_global_info* pGlobalInfo = new unz_global_info;
    nReturnValue = unzGetGlobalInfo(unzfile, pGlobalInfo);
    if (nReturnValue != UNZ_OK)
    {
      return false;
    }

    unz_file_info* pFileInfo = new unz_file_info;
    char szZipFName[MAX_PATH] = { 0 };
    char szExtraName[MAX_PATH] = { 0 };
    char szCommName[MAX_PATH] = { 0 };

    for (int i = 0; i < pGlobalInfo->number_entry; i++)
    {
      nReturnValue = unzGetCurrentFileInfo(unzfile, pFileInfo, szZipFName, MAX_PATH, szExtraName, MAX_PATH, szCommName, MAX_PATH);
      if (nReturnValue != UNZ_OK)
        return false;

      string strZipFName = szZipFName;

      // 如果是目錄,創建相應目錄
      if (pFileInfo->external_fa == FILE_ATTRIBUTE_DIRECTORY || (strZipFName.rfind('/') == strZipFName.length() - 1))
      {
        destFilePath = strTempPath + "http://" + szZipFName;
        CreateDirectoryA(destFilePath.c_str(), NULL);
      }
      else
      {
        string strFullFilePath;
        tempFilePath = strTempPath + "/" + szZipFName;
        strFullFilePath = tempFilePath;

        int nPos = tempFilePath.rfind("/");
        int nPosRev = tempFilePath.rfind("\\");
        if (nPosRev == string::npos && nPos == string::npos)
          continue;

        size_t nSplitPos = nPos > nPosRev ? nPos : nPosRev;
        destFilePath = tempFilePath.substr(0, nSplitPos + 1);

        // 創建多級目錄
        if (!PathIsDirectoryA(destFilePath.c_str()))
        {
          destFilePath = replace_all(destFilePath, "/", "\\");
          int bRet = CreatedMultipleDirectory(destFilePath);
        }

        strFullFilePath = replace_all(strFullFilePath, "/", "\\");

        // 創建文件并寫入數據
        HANDLE hFile = CreateFileA(strFullFilePath.c_str(), GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH, NULL);
        if (hFile == INVALID_HANDLE_VALUE)
        {
          return false;
        }

        nReturnValue = unzOpenCurrentFile(unzfile);
        if (nReturnValue != UNZ_OK)
        {
          CloseHandle(hFile);
          return false;
        }

        uLong BUFFER_SIZE = pFileInfo->uncompressed_size;
        void* szReadBuffer = NULL;
        szReadBuffer = (char*)malloc(BUFFER_SIZE);
        if (NULL == szReadBuffer)
        {
          break;
        }

        // 逐塊讀取ZIP文件并寫入目標文件
        while (TRUE)
        {
          memset(szReadBuffer, 0, BUFFER_SIZE);
          int nReadFileSize = 0;

          nReadFileSize = unzReadCurrentFile(unzfile, szReadBuffer, BUFFER_SIZE);

          if (nReadFileSize < 0)
          {
            unzCloseCurrentFile(unzfile);
            CloseHandle(hFile);
            return false;
          }
          else if (nReadFileSize == 0)
          {
            unzCloseCurrentFile(unzfile);
            CloseHandle(hFile);
            break;
          }
          else
          {
            DWORD dWrite = 0;
            BOOL bWriteSuccessed = WriteFile(hFile, szReadBuffer, BUFFER_SIZE, &dWrite, NULL);
            if (!bWriteSuccessed)
            {
              unzCloseCurrentFile(unzfile);
              CloseHandle(hFile);
              return false;
            }
          }
        }

        free(szReadBuffer);
      }
      unzGoToNextFile(unzfile);
    }

    delete pFileInfo;
    delete pGlobalInfo;

    if (unzfile)
    {
      unzClose(unzfile);
    }

    return true;
  }
};

如何使用類

壓縮文件時可以通過調用zip.Compress()函數實現,該函數接受3個參數,第一個參數是需要壓縮的目錄名,第二個參數是壓縮后保存的文件名,第三個參數則是壓縮后主目錄的名字,我們以壓縮D:\\csdn目錄下的所有文件為例,代碼如下所示;

int main(int argc, char* argv[])
{
	MyZip zip;

	// 壓縮目錄
	std::string compress_src = "D:\\csdn";                               // 壓縮目錄
	std::string compress_dst = "D:\\test.zip";                           // 壓縮后

	bool compress_flag = zip.Compress(compress_src, compress_dst, "lyshark");
	std::cout << "壓縮狀態: " << compress_flag << std::endl;

	system("pause");
	return 0;
}

壓縮后可以看到對應的壓縮包內容,如下所示;

解壓縮與壓縮類似,通過調用zip.UnCompress實現,該方法需要傳入兩個參數,被壓縮的文件名和解壓到的目錄名,如果目錄不存在則會創建并解壓。

int main(int argc, char* argv[])
{
	MyZip zip;

	// 解壓縮目錄
	std::string uncompress_src = "D:\\test.zip";                      // 被解壓文件
	std::string uncompress_dst = "D:\\dst";                           // 解壓到

	bool compress_flag = zip.UnCompress(uncompress_src, uncompress_dst);
	std::cout << "解壓縮狀態: " << compress_flag << std::endl;

	system("pause");
	return 0;
}

輸出效果如下所示;

總結

以上是生活随笔為你收集整理的C/C++ Zlib库封装MyZip压缩类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

五月激情天 | 99日精品 | 国产品久精国精产拍 | 午夜99| 成人97视频一区二区 | 久久国色夜色精品国产 | 黄色av成人在线观看 | 久久综合久色欧美综合狠狠 | 91插插视频 | 欧美福利精品 | 97国产精品视频 | 婷婷av色综合 | 天堂av免费 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产在线精品二区 | 在线日韩一区 | 久久99热国产 | 中国一级片视频 | 国产免费一区二区三区网站免费 | av在线com | 一级a毛片高清视频 | 91精选在线观看 | 青青河边草观看完整版高清 | 在线精品观看 | 国产精品毛片久久久久久久久久99999999 | 久草99 | 久爱精品在线 | 欧美日韩精品久久久 | 波多野结衣精品在线 | 日韩理论电影在线 | 男女激情麻豆 | 色综合久久久久久中文网 | 国产青青青| 国产精品国产三级国产aⅴ入口 | 天天干人人干 | 免费福利视频导航 | 97视频网站 | 国产精品免费一区二区 | 婷婷av色综合 | 久草在线高清视频 | 亚洲国产精品成人va在线观看 | 伊人婷婷| 久久66热这里只有精品 | 国产精品青青 | 久久精品婷婷 | 精品国产伦一区二区三区免费 | 欧美乱大交 | 视频国产区 | 在线观看av小说 | 国产精品你懂的在线观看 | 在线观看亚洲国产精品 | 国产小视频在线看 | 日韩一级精品 | 超碰人人在 | 久久久久久久久艹 | 国产精品h在线观看 | 91传媒91久久久 | 色a在线观看 | 99色在线视频 | 特级黄录像视频 | 日韩精品一区二区三区丰满 | 久久精品欧美一区 | 欧美日韩午夜在线 | 日日躁夜夜躁aaaaxxxx | av播放在线 | 最新色视频 | 99免费在线播放99久久免费 | 日韩免费网址 | 五月婷婷综合色拍 | 婷婷丁香狠狠爱 | 久久久这里有精品 | 午夜少妇一区二区三区 | 亚洲成人家庭影院 | 久久激情小视频 | 亚洲性xxxx | 99精品免费在线观看 | 日韩精品一区二 | 国产精品视频永久免费播放 | 免费黄色av电影 | 国产精品一区免费在线观看 | 亚洲丝袜一区二区 | 日韩精品一区二区三区免费观看 | 欧美在线视频日韩 | 国产成人精品一区二 | 日韩av影视在线 | a黄色片在线观看 | 欧美在线一 | 波多野结衣在线播放视频 | .国产精品成人自产拍在线观看6 | 亚洲综合网 | 网站在线观看日韩 | 欧美另类成人 | 特级a毛片 | 免费av高清 | 中文字幕在线乱 | 久久 在线 | 免费看的黄色录像 | 在线观看涩涩 | 亚色视频在线观看 | 在线观看免费版高清版 | 欧美精品久久久久a | 日韩乱色精品一区二区 | 中文字幕在线观看第一页 | 国产福利一区二区三区视频 | 久久久亚洲影院 | 六月婷婷久香在线视频 | 中文字幕永久 | 日韩在线一级 | 国产精品久久久久久久久婷婷 | 伊人激情网 | 日韩欧美网站 | 中文字幕在线国产 | 日韩av黄 | 伊人网综合在线观看 | 九九国产精品视频 | 国产亚洲va综合人人澡精品 | 92av视频| 最近最新最好看中文视频 | 免费成人在线观看 | 97综合视频| 国产黄色成人 | 国产成人久久精品77777 | 免费看黄在线看 | 五月婷婷开心中文字幕 | 在线观看一区 | 久久综合狠狠狠色97 | 久久久精品国产一区二区 | 99久久精品国产网站 | 色窝资源 | 91麻豆精品国产自产在线 | 久久久久久久久福利 | 久久夜色精品国产欧美乱 | 国产黄色免费观看 | 亚洲色图激情文学 | 欧美最猛性xxxxx亚洲精品 | 欧美日韩一区二区在线观看 | 国产精品毛片久久蜜 | 中文av免费| 日韩中文在线视频 | 久久视频这里有精品 | 亚洲美女免费视频 | 六月激情久久 | 成人啊 v| 亚州天堂 | 99国产情侣在线播放 | 国产精品久久久久久久久久 | 99久久精品无免国产免费 | 狠狠干干 | 国产看片 色 | 久久久影片 | 中文字幕人成不卡一区 | 在线观看电影av | 天天操天天干天天操天天干 | 婷婷深爱| 在线免费高清一区二区三区 | 在线a人片免费观看视频 | 日韩在线观看小视频 | 免费福利片2019潦草影视午夜 | 91av视频网站 | 久久超碰网 | 国内精品久久久久久 | 九九久久国产 | 456免费视频 | 成人小视频在线观看免费 | 一级片观看 | 欧美日韩国产精品一区二区亚洲 | 成人9ⅰ免费影视网站 | 超碰在线9| 91日韩在线专区 | 色噜噜在线观看视频 | 在线欧美中文字幕 | 久久午夜电影院 | 天天干天天操av | 97人人模人人爽人人少妇 | 亚洲精品美女视频 | 国产免费资源 | 韩国一区二区三区在线观看 | 午夜精品福利一区二区三区蜜桃 | 成年人网站免费在线观看 | 婷婷播播网 | 欧美日韩三级在线观看 | www黄色com | 日本大片免费观看在线 | 一级片视频免费观看 | 西西44人体做爰大胆视频 | 国产精品麻豆视频 | 中文字幕日韩一区二区三区不卡 | 成人福利av| 99精品免费久久久久久久久日本 | 在线av资源 | 欧美成人aa | 黄色av影视 | 免费观看黄 | 久久精品99国产精品 | 三级av免费观看 | 欧美一二三区在线播放 | 亚洲视频播放 | 天天躁日日躁狠狠躁av中文 | 久久国产精品色av免费看 | 中文字幕在线播放一区 | 一级片黄色片网站 | 在线免费视频一区 | 天天综合91 | 国产免费看| 日韩欧美69 | 亚洲区二区 | 国产一级在线看 | 久久视频免费在线观看 | 久久99久久精品 | 久久久久久久久网站 | 探花视频在线观看免费版 | 日韩精品一区二区久久 | 99久久综合狠狠综合久久 | 久二影院| 久久久国产精品成人免费 | 国产一区视频在线观看免费 | 成年人免费av网站 | 日本黄色a级大片 | 97视频在线免费观看 | 99免费| 五月天中文字幕mv在线 | 国产精品毛片一区 | 精品在线播放 | 久草在线费播放视频 | 一区二区久久久久 | 91网免费观看 | 五月婷婷丁香在线观看 | 国产一二区视频 | 高清精品久久 | 久久精品麻豆 | 久久久久婷 | 日韩影视在线观看 | 91精品久久久久久综合乱菊 | 中文字幕一区二区三区四区 | 日韩国产高清在线 | 国产一区二区三精品久久久无广告 | 美女视频黄频大全免费 | 四虎国产永久在线精品 | 色综合亚洲精品激情狠狠 | 亚洲a网| 天天干天天干天天 | 国产精品露脸在线 | 国产精品欧美日韩在线观看 | 91精品国产自产老师啪 | 97在线观看 | 四虎在线观看精品视频 | 国产美腿白丝袜足在线av | 天天爱天天色 | 精品国内自产拍在线观看视频 | 久久成人午夜视频 | 99久久婷婷国产一区二区三区 | 午夜精品久久久久久久久久久久久久 | 成人免费一区二区三区在线观看 | 美女精品| 人人擦 | www.五月婷婷 | 久精品视频在线 | 婷婷丁香五 | 天天色中文 | 亚洲资源视频 | 国产精品一区二区免费看 | 91免费在线 | 97精品国产97久久久久久 | 久久国产精品久久国产精品 | 麻豆视频大全 | 国产成在线观看免费视频 | 中文字幕精品一区二区三区电影 | 欧美日韩视频一区二区三区 | 99在线免费观看视频 | 欧美日韩aaaa| 在线观看久草 | 精品视频不卡 | 久草在线一免费新视频 | 亚洲欧美视频网站 | 日本黄色a级大片 | 亚洲毛片视频 | 天天操导航 | 国产精品无av码在线观看 | 黄色免费网站 | 最新动作电影 | 综合激情av | 国产精品久久久久久麻豆一区 | 亚洲精品国产视频 | 欧美午夜久久久 | 九九免费在线观看视频 | 美女网站久久 | 国产在线精品视频 | 久久精品一区二区国产 | sesese图片| 欧美最猛性xxxxx(亚洲精品) | 人操人 | 久久伊人热 | 久久一区二区三区国产精品 | 国产精品mm| 国产精品 日韩 | 激情综合色综合久久 | 国产在线国偷精品产拍免费yy | 午夜视频播放 | 日本激情视频中文字幕 | 久久免费一 | 在线观看爱爱视频 | 日韩高清在线一区 | 国产午夜精品一区 | 国产精品久久久久aaaa九色 | 亚洲精品免费视频 | 99c视频高清免费观看 | 91精品国产99久久久久久久 | 日韩一级成人av | 中文字幕亚洲欧美 | 国产成人av| 中文字幕在线日本 | 狠狠色丁香久久综合网 | 亚洲精品自在在线观看 | 99久久www | 天天干天天干天天干 | 午夜精品福利一区二区三区蜜桃 | 三级免费黄色 | 免费视频久久久 | 美女免费视频一区二区 | 国产精品综合在线 | 日韩精品影视 | 久久久久久久久综合 | 欧美久久99 | 亚洲黄色av| 精品视频成人 | 丁香六月激情婷婷 | av在线一级| 欧美最猛性xxx | 蜜臀av夜夜澡人人爽人人桃色 | 超碰人人99 | 欧美精品乱码久久久久久按摩 | 免费欧美精品 | 久久久综合电影 | 免费av免费观看 | 免费麻豆 | 免费精品视频在线 | 国产福利在线免费观看 | 不卡中文字幕在线 | 99视频精品免费观看, | 91av视屏 | 中文字幕精品三区 | 亚洲国产精品视频 | 2022中文字幕在线观看 | 亚洲国产精品电影 | 国产日韩视频在线 | 亚洲mv大片欧洲mv大片免费 | 日韩日韩日韩日韩 | 久久久天天操 | 日精品 | 日韩精品一区二区三区免费视频观看 | 韩国在线一区二区 | 亚洲四虎在线 | 色婷婷视频在线观看 | 麻豆国产在线播放 | av资源在线看 | 国内精品视频在线 | 国产午夜在线观看视频 | 蜜臀久久99精品久久久无需会员 | 久久精品久久精品 | 国产一区二区精 | 欧美日韩一区二区三区免费视频 | 青青河边草免费直播 | 久草在线费播放视频 | 中文字幕一区二区三区在线视频 | 最近更新好看的中文字幕 | 色在线免费视频 | 日韩欧美一区二区在线 | 国产精品国产三级在线专区 | 国产综合精品一区二区三区 | 色九九在线 | 亚洲国产av精品毛片鲁大师 | 久久综合之合合综合久久 | 免费观看丰满少妇做爰 | 看av免费网站| 国产色婷婷在线 | 亚洲国产mv | 国产午夜麻豆影院在线观看 | 99精品欧美一区二区三区黑人哦 | 在线观看黄av | 视频福利在线观看 | 国产精品一区二区中文字幕 | 能在线看的av | 日韩欧美在线观看一区二区 | 国语精品视频 | 亚洲成人黄色在线观看 | 成年在线观看 | 成人性生交视频 | 久亚洲 | 日本久久免费视频 | 久久免费大片 | www激情网| 二区精品视频 | 国产h片在线观看 | 尤物一区二区三区 | 日日天天| 91大神精品视频在线观看 | 国产乱老熟视频网88av | 高清有码中文字幕 | 国产日韩在线一区 | 麻豆成人精品视频 | 久久久毛片| 亚洲黄色成人网 | 毛片网在线| 国产成人精品亚洲日本在线观看 | 欧美另类美少妇69xxxx | 日本精品二区 | 麻豆国产露脸在线观看 | 最近免费观看的电影完整版 | 国产麻豆视频在线观看 | 夜夜骑日日操 | 亚洲国产丝袜在线观看 | 日韩理论在线视频 | av片在线观看免费 | 国产99久久久久久免费看 | 亚洲一级在线观看 | 日本中文一区二区 | 91亚州 | 久久精美视频 | 97视频网站 | 一区免费视频 | 欧美精品久久久久久久免费 | 中文字幕有码在线 | 2021av在线| 伊人小视频 | 精品国产乱码久久久久久三级人 | 国产护士av | 91在线免费观看网站 | 国内一级片在线观看 | 日韩av黄 | 亚洲精品免费视频 | 亚洲电影av在线 | 91在线色 | 欧美一级性生活片 | 日韩av一区二区三区四区 | 五月天六月色 | 天天综合网 天天综合色 | 天天干 天天摸 天天操 | 国产精品久久久久免费 | 精品99在线 | 激情电影影院 | 国产精品福利在线播放 | 久久人人爽人人爽人人片av免费 | 日av免费| 99免费国产| 欧美精品二 | 婷婷资源站 | 亚洲网久久| 免费观看性生活大片 | 国产精品一区二区久久精品爱微奶 | 96av视频| 久久99精品国产99久久6尤 | 国产精品久久精品国产 | 国产精品自在欧美一区 | 四虎永久国产精品 | 成人国产精品av | 国产一区二区在线视频观看 | 97视频一区| 亚洲最新精品 | 久久久高清一区二区三区 | 国产精品永久在线观看 | 黄色网址在线播放 | 日韩av午夜 | 九九九九热精品免费视频点播观看 | 91精品啪在线观看国产线免费 | 激情视频一区二区 | 欧美一二区在线 | 日本 在线 视频 中文 有码 | 精品国产91亚洲一区二区三区www | 五月天久久久久 | 久久久久久国产精品亚洲78 | 国产精品欧美日韩在线观看 | 国产护士在线 | 伊人宗合网 | 色播99| 综合久久久久久久 | 日韩a在线看 | 黄色的网站免费看 | 国产手机视频在线观看 | 久久精品资源 | 国产午夜三级 | 亚洲精品久久视频 | 麻豆视频免费在线播放 | 成人av一级片 | 久久久久色 | 国产精品久久久久永久免费看 | 国产成人一区二区啪在线观看 | 麻豆视频免费观看 | 婷婷资源站 | 69热国产视频 | 中文在线免费观看 | 中文字幕一区av | av中文字幕在线观看网站 | 国产精品99久久久久久人免费 | 婷婷丁香五 | 日韩精品电影在线播放 | 91看片在线看片 | 免费a视频在线观看 | aaa黄色毛片 | 国产在线免费av | 黄色免费网站下载 | 日韩av在线免费播放 | 中文字幕在线网址 | 六月天综合网 | 国产精品久久久久久久7电影 | 一区二区国产精品 | 精品黄色在线 | 免费国产在线精品 | 国产一级片观看 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 麻豆传媒电影在线观看 | 亚洲永久字幕 | 黄色在线看网站 | 天天色 天天 | 97超碰免费 | 亚洲综合情 | 久久综合五月天婷婷伊人 | 国产区精品视频 | 中文av一区二区 | www.黄色片网站 | 不卡国产视频 | 久久久久久久久久免费 | www.综合网.com | 一区二区久久久久 | 一本一本久久a久久精品综合 | 久久久久久免费毛片精品 | 欧美一区二区三区在线 | 婷婷综合亚洲 | 国产美女精品人人做人人爽 | 国产综合婷婷 | 国内精自线一二区永久 | www天天干com | 婷婷丁香导航 | 五月婷香| 国产成人香蕉 | 免费人成网 | 欧美激情视频一区 | 亚洲综合激情 | 99久久99精品| 亚洲成人av在线电影 | 99久久日韩精品免费热麻豆美女 | av在线h| 久久大片网站 | 97福利视频 | 国产在线观看不卡 | 免费成视频 | 成人av影院在线观看 | 精品一区二区三区久久久 | 亚洲激情影院 | 免费在线黄网 | 久久精品波多野结衣 | 久久精品精品电影网 | 热久久最新地址 | 亚洲精品久久久久久中文传媒 | av片一区二区 | 国产视频一区在线免费观看 | 日韩视频免费在线观看 | 美女网站在线观看 | www.xxx.性狂虐 | 国产一区在线视频 | 国产精品涩涩屋www在线观看 | 色婷婷综合久久久中文字幕 | 国产黄色特级片 | 欧洲一区二区三区精品 | 国产在线欧美 | 成人精品99 | 91在线观看欧美日韩 | 天天色天天上天天操 | 国产高清永久免费 | 免费精品 | 久草视频网 | 亚洲黄色一级视频 | 欧美aaa大片| 久久69精品 | 在线看中文字幕 | www.国产视频 | 国产一区私人高清影院 | 久久成人国产精品入口 | 亚洲欧美日韩国产一区二区三区 | 欧美网址在线观看 | 免费网站黄 | 久久午夜精品 | av黄色成人 | 91免费观看视频网站 | 日韩伦理片hd | 国产精品一区二区三区久久 | 在线观看视频免费播放 | 992tv在线观看 | 日本福利视频在线 | 久久精品123 | 欧美三人交 | 三级视频国产 | 97天堂 | 国产一区福利在线 | 在线观看你懂的网址 | 国产精品久久久一区二区 | 色狠狠婷婷 | 国产黄色精品在线 | 一区二区三区在线影院 | 国产精品一区二区62 | 懂色av一区二区三区蜜臀 | 在线视频 国产 日韩 | 51久久夜色精品国产麻豆 | 日韩高清黄色 | 欧美不卡视频在线 | 精品国产免费看 | 99久久精品国产网站 | 99在线国产 | 91亚洲欧美 | 91精品第一页 | 91av视频导航 | 久久再线视频 | 最近中文字幕完整视频高清1 | 免费在线观看黄色网 | 中文字幕av在线播放 | 国产69久久久欧美一级 | 免费观看日韩av | 欧美精品一区在线 | 四虎在线观看精品视频 | 午夜久久福利 | 91在线精品视频 | 91九色精品| 国产精品一区二区三区免费看 | 久久久久久久久久久久av | 在线观看深夜视频 | 国产在线播放一区二区 | 日韩最新av | 天天插综合网 | 欧洲黄色片| 99这里都是精品 | 99热国产在线观看 | 国产999精品久久久 免费a网站 | 亚洲乱码国产乱码精品天美传媒 | 91| www.com在线观看 | 精品国产一区二区三区噜噜噜 | 久久久久久久久久网 | 999久久国精品免费观看网站 | 999精品视频 | 嫩草伊人久久精品少妇av | 色多多在线观看 | 久久午夜影院 | 欧美日韩不卡在线观看 | av在线在线| 亚洲综合视频在线观看 | 国产日本在线 | 日韩视频一区二区在线 | 成人超碰在线 | 精品毛片久久久久久 | 亚洲成人二区 | 97日日碰人人模人人澡分享吧 | 天天操操操操操 | 伊人天天狠天天添日日拍 | 香蕉视频国产在线 | 久久久久久欧美二区电影网 | 人人爱爱 | 黄色网址国产 | 国产精品久久久久久超碰 | 高清国产午夜精品久久久久久 | 日日爱视频 | 激情视频综合网 | 精品国产一区二区三区在线观看 | 国产原创中文在线 | 国产在线专区 | 国产精品中文字幕av | 五月婷婷激情网 | 国产精品久久久毛片 | 深爱开心激情网 | 国产精品视频你懂的 | 狠狠躁日日躁狂躁夜夜躁av | 免费黄色a级毛片 | 操天天操 | 久草在线免费在线观看 | 亚洲视频在线观看免费 | 日韩高清不卡一区二区三区 | 天天艹天天干天天 | 天天av在线播放 | 在线观看一级片 | 美女黄网站视频免费 | 国产区av在线 | 久久久精品免费观看 | 高清av在线免费观看 | 午夜精品久久久久久久久久久久久久 | 国产码电影 | 国精产品满18岁在线 | 国产中文字幕视频在线观看 | 五月天精品视频 | 久草在线视频网 | 在线观看完整版免费 | 国产美腿白丝袜足在线av | 亚洲精品色 | 免费一级毛毛片 | 黄色成人影院 | 婷婷色婷婷 | 久久成人亚洲欧美电影 | 国产玖玖在线 | av色一区| 天天综合久久综合 | 在线观看免费黄视频 | 91精品在线看 | 国产一区二区在线免费播放 | 久久久久久久久免费 | 日韩有码在线观看视频 | 日本天天色 | 91 在线视频播放 | 国产 日韩 欧美 自拍 | 成人超碰97 | 国产在线a| 18+视频网站链接 | 日韩视频三区 | 国产色妞影院wwwxxx | 又色又爽又黄高潮的免费视频 | 99电影456麻豆| avav片| 蜜臀av性久久久久蜜臀aⅴ涩爱 | 婷婷成人综合 | 欧美天堂视频在线 | 成人免费一区二区三区在线观看 | 97超碰人人在线 | 97精品国产97久久久久久久久久久久 | 日韩有码在线播放 | 91传媒免费观看 | 国产九九在线 | 欧美性做爰猛烈叫床潮 | 国产高清在线免费 | 日韩精品久久久久久 | 视频一区二区在线 | 亚洲精品国产自产拍在线观看 | 亚洲 欧洲 国产 日本 综合 | 中文一区二区三区在线观看 | 亚洲国产精品一区二区久久hs | 色噜噜在线观看视频 | 91av视频在线观看免费 | 中文字幕视频观看 | 美女国产网站 | 在线观看的黄色 | av成人资源| 美女搞黄国产视频网站 | 天堂久色 | 色资源二区在线视频 | 亚洲日本中文字幕在线观看 | 91精品视频观看 | 五月婷av| 婷婷激情五月综合 | 欧美日产在线观看 | 免费久久久久久久 | 国产精品日韩久久久久 | 超碰免费成人 | 波多野结衣在线中文字幕 | 九色在线视频 | 香蕉久草 | 91av资源网 | 青青五月天| 久久男人免费视频 | 手机版av在线 | 国产专区精品视频 | 娇妻呻吟一区二区三区 | 中文字幕刺激在线 | 99精品国产在热久久 | 中文字幕色站 | 久久综合久久综合这里只有精品 | 久久久久久久久久网 | 久久久久在线观看 | 色播激情五月 | 免费在线精品视频 | 国产精品久久伊人 | 夜色资源站wwwcom | 伊人激情综合 | 天天拍天天草 | 国产精品女同一区二区三区久久夜 | 激情电影影院 | 成年人免费电影在线观看 | 亚洲精品观看 | 久久久高清一区二区三区 | 久久66热这里只有精品 | 亚洲国产三级在线 | 国产精品久久久久久欧美 | 在线黄色国产电影 | 国产精品99久久久久久大便 | 江苏妇搡bbbb搡bbbb | 国产视频久 | 精品国产美女 | 91一区在线观看 | 国产一级91 | 日韩免费高清 | 免费成人短视频 | 欧美三级在线播放 | 国产免费xvideos视频入口 | 999国内精品永久免费视频 | 成片视频免费观看 | 国产精品久久久久久久免费 | 国产手机视频 | 伊人资源站| 中文字幕免费高清在线观看 | 亚洲另类在线视频 | 中文字幕一区二区三区四区视频 | 中文字幕一区二区三区精华液 | 人人爱爱人人 | 日韩精品一区二区三区在线视频 | 国产精品久久久久久久久久不蜜月 | 久久久免费国产 | 国产午夜在线 | 亚洲国产日韩欧美在线 | 免费看一级黄色大全 | 久久免费播放视频 | a v在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美性大胆 | 日韩国产精品一区 | 正在播放国产一区二区 | 四虎影视欧美 | 国产视频99 | 激情av网 | 精产嫩模国品一二三区 | 日本久久久久久科技有限公司 | 毛片基地黄久久久久久天堂 | 国产一区播放 | 日韩欧美在线免费观看 | 亚洲精品一区二区三区在线观看 | 香蕉在线观看视频 | 91精品国产九九九久久久亚洲 | av在线网站观看 | 精品久久久久久亚洲综合网 | 91中文字幕| 日韩一区二区三区免费视频 | 久久五月激情 | 色噜噜色噜噜 | 视频一区在线免费观看 | 国产成本人视频在线观看 | 久草在线电影网 | 日韩免费网站 | 四虎影视成人永久免费观看亚洲欧美 | 日韩欧美精品在线 | 日日操操操 | 最新在线你懂的 | 在线观看av麻豆 | 日韩三级免费 | 韩日视频在线 | 丁香六月伊人 | 国产精品白浆 | 国产精品午夜av | 美女黄频网站 | 国产在线精品视频 | 在线小视频 | 中文av资源站| 成人在线观看av | 成人av午夜| 免费福利片 | 中文字幕视频免费观看 | 97色婷婷人人爽人人 | 欧美极品少妇xbxb性爽爽视频 | 精品国产资源 | 国产精品18久久久久久首页狼 | 免费在线a | 日韩美女免费线视频 | 色九九视频 | 三级性生活视频 | 麻豆网站免费观看 | 日日干,天天干 | 国内精品久久久久久久久久 | 国语精品久久 | 伊人久久国产精品 | 欧美日韩在线免费观看视频 | 手机看片久久 | 91av在线精品 | 在线观看中文字幕 | 久射网| 免费日韩av电影 | 色五月色开心色婷婷色丁香 | 久久久久久久久久久久久久免费看 | 深夜免费网站 | 亚洲精品综合一区二区 | 欧美日韩国产高清视频 | 成人啊 v | 99热国内精品 | 人人澡人人添人人爽一区二区 | 国产视频久久久久 | 最近日本中文字幕a | 欧美天天射| 亚洲女在线 | 日韩精品免费一区 | 成片人卡1卡2卡3手机免费看 | 日韩电影一区二区三区 | 夜夜视频资源 | 国产精品久久久久久影院 | 久久久亚洲国产精品麻豆综合天堂 | 久99久精品视频免费观看 | 91中文字幕视频 | 伊人黄色网 | 久久福利剧场 | 亚洲美女视频在线观看 | 欧美日韩国产高清视频 | 麻豆传媒电影在线观看 | 久久国产午夜精品理论片最新版本 | 午夜国产福利在线 | 东方av在线免费观看 | www.狠狠操.com| 黄网站www | 玖玖精品在线 | 国产高清区 | a成人在线| 亚洲欧美激情插 | 久久国产精品免费观看 | 91精选在线 | bayu135国产精品视频 | 日韩专区中文字幕 | 国产一级在线视频 | 伊人天天狠天天添日日拍 | 久久久免费观看完整版 | 亚洲日本精品视频 | 色婷婷狠狠五月综合天色拍 | 欧美久久久久久久久中文字幕 | 国产原创在线观看 | 91精品资源 | 激情av网址 | 国产精品久久久久久久久久久久午夜片 | 在线观看久草 | 九九热在线观看视频 | 青春草视频在线播放 | 米奇狠狠狠888| 免费看的av片 | 日韩精品一区二区三区视频播放 | 成人免费视频视频在线观看 免费 | 国产精选在线观看 | 九九综合九九综合 | 国产一级一片免费播放放 | 中文字幕网站视频在线 | 中文字幕一区二区在线播放 | 久久特级毛片 | 国产成人精品一区二区 | 日韩乱码在线 | 亚洲精品视频在线播放 | 亚洲人成人天堂h久久 | 精品国产一区二区三区久久久久久 | 亚洲日本中文字幕在线观看 | 国产丝袜制服在线 | 成人av资源站 | 久久视| 亚洲aⅴ在线 | 91精品久久久久久久久久久久久 | 久久国产精品一区二区 | 九九热在线精品视频 | 综合网伊人 | 亚洲国产成人精品电影在线观看 | va视频在线 | 久久免费视频国产 | 国产精品一区二区在线观看免费 | 国产69久久| 激情伊人五月天久久综合 | 一区二区三区日韩视频在线观看 | 亚洲一区二区三区91 | 97超碰人人模人人人爽人人爱 | 欧美午夜理伦三级在线观看 | 国产真实精品久久二三区 | 91福利在线导航 | 国产成人精品久 | 欧美日韩综合在线观看 | 免费视频网 | av黄网站 | 欧美日韩中文国产一区发布 | 国产 视频 久久 | 国产美腿白丝袜足在线av | 国产视频在线免费 | 国产色婷婷精品综合在线手机播放 | 五月婷婷香蕉 | 能在线观看的日韩av | 欧美伦理电影一区二区 | 久久久99国产精品免费 | 亚洲黄色网络 | 久久综合久久综合九色 | 亚洲成av人片在线观看 | 久久99网| 国产96在线观看 | 精品久久久免费 | 亚洲最新av | 成人免费xxx在线观看 | 日韩国产精品久久 | 国产成人一级 | 天天综合狠狠精品 | 激情开心站 | 四虎国产精品免费观看视频优播 | 久久久久久久久久久免费 | 国产成本人视频在线观看 | 亚洲激情网站免费观看 | 亚洲最快最全在线视频 | 久久久999精品视频 国产美女免费观看 | 狠狠躁日日躁狂躁夜夜躁av | 正在播放亚洲精品 | 美女一级毛片视频 | 亚洲成a人片77777kkkk1在线观看 | 欧美亚洲一区二区在线 | av一级网站 | 中文字幕第 | 91精彩视频在线观看 | 91精品导航| 久久av免费| 999国产 | 成人性生爱a∨ | 国产亚洲视频在线观看 |