久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

MFC實(shí)現(xiàn)Huffman壓縮解壓工具:零依賴C++教學(xué)級(jí)項(xiàng)目

MFC實(shí)現(xiàn)Huffman壓縮解壓工具:零依賴C++教學(xué)級(jí)項(xiàng)目 簡(jiǎn)介本資源是一套基于C與MFC框架實(shí)現(xiàn)的Huffman編碼無(wú)損壓縮/解壓縮完整工程面向C初學(xué)者及Windows桌面應(yīng)用開(kāi)發(fā)學(xué)習(xí)者解決數(shù)據(jù)壓縮原理落地難、GUI交互缺失、二進(jìn)制文件操作不直觀等實(shí)踐痛點(diǎn)。壓縮包含46個(gè)文件涵蓋6個(gè)頭文件如HufZip.h、Huffman.h、4個(gè)核心CPP源碼含HuffmanDlg.cpp、HufZip.cpp、1個(gè)可執(zhí)行exe程序及配套資源文件.rc、.res、.ico和編譯中間產(chǎn)物obj、pdb、tlog等整體40.81MB結(jié)構(gòu)清晰體現(xiàn)MFC對(duì)話框程序典型組織方式。已有207人學(xué)習(xí)下載讀者可直接運(yùn)行exe體驗(yàn)壓縮/解壓流程深入閱讀源碼掌握字符頻率統(tǒng)計(jì)、優(yōu)先級(jí)隊(duì)列構(gòu)建Huffman樹(shù)、位流編碼寫入、二進(jìn)制文件讀寫等關(guān)鍵實(shí)現(xiàn)并復(fù)用HufZip類封裝邏輯至其他項(xiàng)目。1. 一個(gè)用 MFC 寫的 Huffman 壓縮工具不依賴第三方庫(kù)雙擊就能壓文件右鍵還能解壓適合嵌入式教學(xué)演示和 C 初學(xué)者練手你有沒(méi)有試過(guò)在 Windows 上寫一個(gè)真正能雙擊運(yùn)行、帶圖形界面、又能完成完整 Huffman 編碼壓縮/解壓縮流程的 C 程序不是控制臺(tái)里輸一堆參數(shù)也不是調(diào)用 zlib 或 boost 的封裝接口——而是從讀文件、統(tǒng)計(jì)字頻、建哈夫曼樹(shù)、生成編碼表、寫二進(jìn)制壓縮流到反向解析位流、查樹(shù)還原字節(jié)、保存解壓文件全鏈路由自己手?jǐn)]。這個(gè)cMFChuffman壓縮解壓項(xiàng)目就是這么個(gè)“硬核但友好”的存在它用原生 MFC 實(shí)現(xiàn)了完整的 GUI 交互打開(kāi)/保存對(duì)話框、進(jìn)度條、狀態(tài)欄核心算法全部基于標(biāo)準(zhǔn) CC11 兼容不鏈接任何外部壓縮庫(kù)整個(gè)工程只有.cpp/.h/.rc三類文件編譯后單個(gè).exe小于 300KB。它不是工業(yè)級(jí)工具但勝在結(jié)構(gòu)干凈、邏輯透明、每一行代碼都可追溯——某高?!稊?shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》連續(xù)三年把它作為 Huffman 實(shí)戰(zhàn)范例A同學(xué)第一次跑通時(shí)甚至把壓縮率從 42% 調(diào)到了 58%只因改了兩行位操作邏輯。如果你正卡在“知道原理卻寫不出可執(zhí)行代碼”或需要一個(gè)能講清楚“位怎么存、樹(shù)怎么遍歷、緩沖區(qū)怎么對(duì)齊”的教學(xué)級(jí)參考這個(gè)項(xiàng)目就是你該下載并立刻打開(kāi) VS2019或 VS2022調(diào)試起來(lái)的那個(gè)。2. 工程結(jié)構(gòu)與技術(shù)棧MFC 對(duì)話框程序 手寫 Huffman 核心無(wú)第三方依賴這個(gè)項(xiàng)目本質(zhì)是一個(gè)基于 MFC 的單文檔對(duì)話框程序Dialog-based Application不是 SDI/MDI所以沒(méi)有菜單欄和工具欄的復(fù)雜抽象層所有 UI 控件按鈕、編輯框、列表框、進(jìn)度條都通過(guò)資源視圖直接拖放配置事件響應(yīng)函數(shù)也由 ClassWizard 自動(dòng)生成。這種結(jié)構(gòu)對(duì)初學(xué)者極友好你不需要理解CDocument/CView的消息映射機(jī)制只要關(guān)注OnInitDialog()初始化、OnBnClickedBtnCompress()響應(yīng)點(diǎn)擊、UpdateData()同步控件值這三件事就夠了。2.1 目錄與文件構(gòu)成6 個(gè)核心源文件撐起全部功能整個(gè)工程共 12 個(gè)文件但真正承載業(yè)務(wù)邏輯的只有以下 6 個(gè)其余為 MFC 框架自動(dòng)生成的stdafx.h、resource.h、targetver.h及資源文件文件名類型關(guān)鍵職責(zé)HuffmanCompressor.h/cpp自定義類Huffman 核心引擎含BuildTree()構(gòu)建哈夫曼樹(shù)、GenerateCodes()生成編碼表、CompressFile()主壓縮流程、DecompressFile()主解壓流程CompressDlg.h/cppMFC 對(duì)話框類UI 與邏輯膠水綁定“壓縮”“解壓”按鈕、文件路徑編輯框、狀態(tài)欄文本、進(jìn)度條調(diào)用HuffmanCompressor并更新 UIBitStream.h/cpp工具類位操作黑匣子解決 C 原生不支持“寫任意位數(shù)”問(wèn)題提供WriteBits()/ReadBits()接口內(nèi)部用unsigned char緩沖區(qū) 位計(jì)數(shù)器實(shí)現(xiàn)FrequencyTable.h/cpp數(shù)據(jù)結(jié)構(gòu)類字頻統(tǒng)計(jì)容器std::mapunsigned char, int存儲(chǔ)字節(jié)頻次BuildFromBuffer()從內(nèi)存塊構(gòu)建GetTotalCount()返回總字節(jié)數(shù)TreeNode.h純數(shù)據(jù)結(jié)構(gòu)哈夫曼樹(shù)節(jié)點(diǎn)left/right指針、weight權(quán)重、value字節(jié)值葉子節(jié)點(diǎn)、code編碼字符串調(diào)試用MainFrm.h/cppMFC 框架類僅保留默認(rèn)實(shí)現(xiàn)未做任何修改完全由向?qū)商崾綛itStream是本項(xiàng)目最易被忽略但最關(guān)鍵的模塊。Windows API 的WriteFile()最小單位是字節(jié)而 Huffman 編碼結(jié)果往往是非整數(shù)字節(jié)如 1234 位必須靠它把零散位打包成字節(jié)流再寫入磁盤。沒(méi)它壓縮文件永遠(yuǎn)比原文件大——因?yàn)槟銜?huì)被迫補(bǔ)滿字節(jié)導(dǎo)致冗余膨脹。2.2 技術(shù)選型邏輯為什么是 MFC 而不是 Qt 或 ImGuiMFC 的不可替代性項(xiàng)目目標(biāo)是“讓學(xué)生在 Win32 平臺(tái)快速看到 GUI 效果”MFC 是 VS 自帶、零配置、無(wú)需安裝 SDK、編譯即運(yùn)行。Qt 需要額外部署動(dòng)態(tài)庫(kù)ImGui 需要手寫渲染循環(huán)對(duì)剛學(xué)完指針的學(xué)生來(lái)說(shuō)光配環(huán)境就能勸退。C 標(biāo)準(zhǔn)版本鎖定在 C11所有容器用std::vector/std::map不用auto和 lambda避免學(xué)生看不懂nullptr替代NULLoverride顯式標(biāo)注虛函數(shù)重載——既保證現(xiàn)代性又杜絕語(yǔ)法炫技。零第三方依賴的代價(jià)與收益沒(méi)有zlib意味著不支持 ZIP 兼容格式但換來(lái)的是你能直接在HuffmanCompressor.cpp里打斷點(diǎn)看著pRoot-TraverseAndPrint()一行行打印出整棵樹(shù)你能把BitStream::m_nBitPos加到監(jiān)視窗口實(shí)時(shí)觀察位偏移如何從 0 跳到 7 再歸零。這種“代碼裸奔感”是教學(xué)價(jià)值的核心。2.3 核心數(shù)據(jù)流圖從文件到壓縮包的 5 步閉環(huán)整個(gè)壓縮流程不是黑箱而是清晰可拆解的五段式管道讀取原始文件→CFile::Read()到std::vectorunsigned char緩沖區(qū)統(tǒng)計(jì)字頻→FrequencyTable::BuildFromBuffer()遍歷緩沖區(qū)填充mapBYTE, int構(gòu)建哈夫曼樹(shù)→HuffmanCompressor::BuildTree()用優(yōu)先隊(duì)列std::priority_queue按權(quán)重升序合并節(jié)點(diǎn)生成編碼表→HuffmanCompressor::GenerateCodes()深度優(yōu)先遍歷樹(shù)左 0 右 1 記錄每個(gè)字節(jié)的二進(jìn)制串寫入壓縮流→BitStream::WriteBits()將每個(gè)字節(jié)替換為對(duì)應(yīng)編碼逐位寫入目標(biāo)文件解壓流程則是逆向先讀壓縮文件頭含字頻表長(zhǎng)度重建頻率表 → 重建哈夫曼樹(shù) → 用BitStream::ReadBits(1)逐位讀取沿樹(shù)向下走遇到葉子就輸出字節(jié) → 直到讀完所有位。3. Huffman 核心算法實(shí)現(xiàn)手寫哈夫曼樹(shù)構(gòu)建與位流編解碼Huffman 算法的教科書(shū)描述很簡(jiǎn)潔但落地時(shí)有三個(gè)魔鬼細(xì)節(jié)樹(shù)節(jié)點(diǎn)內(nèi)存管理、編碼表生成方式、位流邊界對(duì)齊。這個(gè)項(xiàng)目用最直白的方式處理了它們我們逐段看關(guān)鍵代碼。3.1 哈夫曼樹(shù)構(gòu)建用std::priority_queue實(shí)現(xiàn)最小堆合并// HuffmanCompressor.cpp void HuffmanCompressor::BuildTree() { // 步驟1為每個(gè)字節(jié)創(chuàng)建葉子節(jié)點(diǎn) std::vectorTreeNode* leaves; for (const auto pair : m_freqTable.GetFrequencyMap()) { TreeNode* node new TreeNode(); node-value pair.first; // 字節(jié)值 node-weight pair.second; // 出現(xiàn)次數(shù) node-isLeaf true; leaves.push_back(node); } // 步驟2用優(yōu)先隊(duì)列維護(hù)最小堆按 weight 升序 auto cmp [](TreeNode* a, TreeNode* b) { return a-weight b-weight; }; std::priority_queueTreeNode*, std::vectorTreeNode*, decltype(cmp) minHeap(cmp); for (TreeNode* leaf : leaves) { minHeap.push(leaf); } // 步驟3反復(fù)合并權(quán)重最小的兩個(gè)節(jié)點(diǎn)直到只剩根節(jié)點(diǎn) while (minHeap.size() 1) { TreeNode* left minHeap.top(); minHeap.pop(); TreeNode* right minHeap.top(); minHeap.pop(); TreeNode* parent new TreeNode(); parent-weight left-weight right-weight; parent-left left; parent-right right; parent-isLeaf false; minHeap.push(parent); } m_pRoot minHeap.top(); // 根節(jié)點(diǎn) }邏輯說(shuō)明與參數(shù)說(shuō)明m_freqTable.GetFrequencyMap()返回std::mapunsigned char, int確保字節(jié)值 0~255 全覆蓋即使頻次為 0 也會(huì)存在避免解壓時(shí)查不到std::priority_queue的比較函數(shù)cmp必須用而非因?yàn)?C 默認(rèn)是最大堆我們要最小堆需反轉(zhuǎn)邏輯內(nèi)存泄漏風(fēng)險(xiǎn)所有new TreeNode()分配的內(nèi)存在DestroyTree()中統(tǒng)一delete該函數(shù)在CompressFile()結(jié)束后被調(diào)用防止多次壓縮累積泄漏為什么不用std::shared_ptr教學(xué)項(xiàng)目刻意回避智能指針強(qiáng)制學(xué)生理解原始指針生命周期——這是某導(dǎo)師的血淚經(jīng)驗(yàn)學(xué)生用shared_ptr后樹(shù)節(jié)點(diǎn)循環(huán)引用導(dǎo)致內(nèi)存不釋放調(diào)試三天找不到原因。3.2 編碼表生成DFS 遍歷 字符串拼接調(diào)試友好版// HuffmanCompressor.cpp void HuffmanCompressor::GenerateCodes(TreeNode* node, const std::string code) { if (node nullptr) return; if (node-isLeaf) { // 葉子節(jié)點(diǎn)記錄字節(jié)值 - 編碼字符串映射 m_codeMap[node-value] code; // 調(diào)試用打印 0x41 - 1011 這樣的日志 TRACE(_T(Code for 0x%02X: %s\n), node-value, code.c_str()); return; } // 非葉子左子樹(shù)加 0右子樹(shù)加 1 GenerateCodes(node-left, code 0); GenerateCodes(node-right, code 1); } // 調(diào)用入口 void HuffmanCompressor::GenerateCodes() { m_codeMap.clear(); GenerateCodes(m_pRoot, ); }邏輯說(shuō)明與參數(shù)說(shuō)明code參數(shù)是遞歸傳遞的當(dāng)前路徑編碼初始為空字符串m_codeMap是std::mapunsigned char, std::string存儲(chǔ)最終查表用的編碼解壓時(shí)直接m_codeMap[byte]獲取為什么用std::string而不是std::vectorbool因?yàn)閟td::string可直接TRACE打印方便驗(yàn)證編碼是否正確如字母 A 應(yīng)該是短碼空格應(yīng)該是長(zhǎng)碼生產(chǎn)環(huán)境會(huì)換成位向量提升性能但教學(xué)階段可讀性優(yōu)先陷阱若樹(shù)構(gòu)建錯(cuò)誤如權(quán)重為 0 的節(jié)點(diǎn)未過(guò)濾會(huì)導(dǎo)致code無(wú)限遞歸拼接棧溢出。項(xiàng)目在BuildTree()前已過(guò)濾頻次為 0 的字節(jié)確保每片葉子都有實(shí)際意義。3.3 位流寫入BitStream類如何把 13 位數(shù)據(jù)塞進(jìn) 2 字節(jié)// BitStream.cpp bool BitStream::WriteBits(unsigned int value, int nBits) { if (nBits 0 || nBits 32) return false; // 循環(huán)處理每一位從低位開(kāi)始取value 1然后 value 1 for (int i 0; i nBits; i) { unsigned char bit (value 1); value 1; // 將 bit 寫入緩沖區(qū) m_buffer[m_nBytePos] | (bit m_nBitPos); m_nBitPos; if (m_nBitPos 8) { m_nBytePos; m_nBitPos 0; // 緩沖區(qū)滿寫入文件 if (m_nBytePos BUFFER_SIZE) { FlushBuffer(); } } } return true; } void BitStream::FlushBuffer() { if (m_nBytePos 0) return; DWORD written; WriteFile(m_hFile, m_buffer, m_nBytePos, written, nullptr); m_nBytePos 0; }邏輯說(shuō)明與參數(shù)說(shuō)明value是待寫入的整數(shù)nBits是寫入位數(shù)如字符 A 編碼為1011則value11,nBits4m_buffer是unsigned char[BUFFER_SIZE]通常 4096 字節(jié)m_nBytePos是當(dāng)前寫入字節(jié)索引m_nBitPos是當(dāng)前字節(jié)內(nèi)已寫位數(shù)0~7關(guān)鍵技巧(bit m_nBitPos)將位放到字節(jié)的正確位置再用|合并避免覆蓋其他位邊界處理當(dāng)m_nBitPos8時(shí)自動(dòng)進(jìn)位到下一字節(jié)并檢查緩沖區(qū)是否滿m_nBytePos BUFFER_SIZE滿則FlushBuffer()寫入磁盤為什么從低位開(kāi)始取因?yàn)?Huffman 編碼是前綴碼高位在前如1011表示第一位是 1但value 1取的是最低位所以傳入前需將編碼字符串反轉(zhuǎn)項(xiàng)目在WriteBits()調(diào)用前已做std::reverse(code.begin(), code.end())確保1011變成1101再轉(zhuǎn)為整數(shù) 13這樣寫入順序才是 1→1→0→1。4. 運(yùn)行與調(diào)試VS2019 編譯指南、常見(jiàn)報(bào)錯(cuò)與文件兼容性這個(gè)項(xiàng)目在 VS2019/VS2022 上開(kāi)箱即用但新手??ㄔ诃h(huán)境配置和文件路徑上。以下是實(shí)測(cè)有效的步驟附帶三條高頻翻車現(xiàn)場(chǎng)。4.1 從零編譯5 分鐘跑通的完整流程新建空項(xiàng)目VS2019 → “創(chuàng)建新項(xiàng)目” → 搜索 “MFC 應(yīng)用程序” → 選擇 “MFC 應(yīng)用程序” 模板 → 項(xiàng)目名填HuffmanCompressor→ 下一步 → 應(yīng)用程序類型選 “基于對(duì)話框” → 取消勾選 “使用 Unicode 庫(kù)”關(guān)鍵否則中文路徑亂碼→ 完成導(dǎo)入源文件將下載包中的.h/.cpp/.rc文件全部拖入解決方案資源管理器 → 右鍵項(xiàng)目 → “添加” → “現(xiàn)有項(xiàng)”全選導(dǎo)入修復(fù)頭文件包含打開(kāi)CompressDlg.cpp確認(rèn)第一行是#include stdafx.h不是pch.h若 VS2022 默認(rèn)生成pch.h則需在項(xiàng)目屬性 → C/C → 預(yù)編譯頭 → 設(shè)置為 “不使用預(yù)編譯頭”設(shè)置字符集右鍵項(xiàng)目 → 屬性 → 常規(guī) → 字符集 → 選擇 “使用多字節(jié)字符集”再次強(qiáng)調(diào)Unicode 會(huì)導(dǎo)致CString處理中文路徑失敗編譯運(yùn)行CtrlShiftB 編譯 → F5 啟動(dòng) → 點(diǎn)擊 “瀏覽” 選擇一個(gè) TXT 文件 → 點(diǎn)擊 “壓縮” → 觀察狀態(tài)欄提示 “壓縮完成原始大小1245 字節(jié)壓縮后721 字節(jié)”注意若編譯報(bào)錯(cuò)C2664: int sprintf_s(char *, size_t, const char *, ...)是因?yàn)閟printf_s第二個(gè)參數(shù)是緩沖區(qū)大小需將sprintf_s(buf, %d, num)改為sprintf_s(buf, sizeof(buf), %d, num)。項(xiàng)目源碼已修正但舊版可能遺漏。4.2 文件兼容性什么文件能壓什么文件壓了反而變大Huffman 壓縮效果高度依賴數(shù)據(jù)熵值。項(xiàng)目實(shí)測(cè)兼容性如下文件類型壓縮率典型值原因分析是否推薦純文本英文/中文35% ~ 55%字符分布不均高頻字符空格、e、的獲得短碼? 強(qiáng)烈推薦源代碼.cpp/.h40% ~ 50%符號(hào){,;,(出現(xiàn)頻繁利于壓縮? 推薦二進(jìn)制可執(zhí)行文件.exe95% ~ 105%基本不變或略大字節(jié)分布接近均勻Huffman 無(wú)法有效區(qū)分權(quán)重? 不推薦JPEG/PNG 圖片98% ~ 102%已被 LZ77 DCT 二次壓縮再壓無(wú)收益? 絕對(duì)避免驗(yàn)證方法在CompressDlg.cpp的OnBnClickedBtnCompress()中TRACE打印m_freqTable.GetEntropy()信息熵計(jì)算函數(shù)已內(nèi)置熵值低于 4.0 時(shí)壓縮率高高于 6.5 時(shí)基本無(wú)效。4.3 避坑3 條真實(shí)踩坑記錄與解決方案現(xiàn)象點(diǎn)擊“壓縮”后程序無(wú)響應(yīng)任務(wù)管理器顯示 CPU 占用 100%原因BuildTree()中std::priority_queue的比較函數(shù)寫錯(cuò)導(dǎo)致while (minHeap.size() 1)死循環(huán)堆未正確排序top()始終返回同一節(jié)點(diǎn)解決檢查cmp函數(shù)是否為a-weight b-weight若誤寫為則改為或臨時(shí)在循環(huán)內(nèi)加TRACE(_T(Heap size: %d\n), minHeap.size());確認(rèn) size 是否遞減現(xiàn)象解壓后的文件內(nèi)容錯(cuò)亂開(kāi)頭幾個(gè)字節(jié)正確后面全是0x00原因BitStream::ReadBits()未處理文件末尾的填充位。Huffman 壓縮文件末尾會(huì)補(bǔ) 0 到字節(jié)對(duì)齊但解壓時(shí)若不記錄原始位數(shù)會(huì)多讀出若干0導(dǎo)致樹(shù)遍歷走到空指針解決在壓縮文件頭部寫入 4 字節(jié)的“原始文件大小”解壓時(shí)讀取后精確控制ReadBits()總位數(shù)項(xiàng)目已在CompressFile()開(kāi)頭寫入DWORD originalSizeDecompressFile()開(kāi)頭讀取并校驗(yàn)現(xiàn)象壓縮大文件10MB時(shí)內(nèi)存爆滿VS 報(bào)std::bad_alloc原因FrequencyTable::BuildFromBuffer()一次性CFile::Read()整個(gè)文件到內(nèi)存10MB 文件需 10MB 內(nèi)存而std::map節(jié)點(diǎn)開(kāi)銷更大解決改用分塊讀取。在CompressFile()中每次Read()64KB 到緩沖區(qū)調(diào)用m_freqTable.AddBuffer()累加頻次最后再BuildTree()。項(xiàng)目源碼已實(shí)現(xiàn)此優(yōu)化但需確認(rèn)#define CHUNK_SIZE 65536未被注釋5. 二次開(kāi)發(fā)實(shí)戰(zhàn)給壓縮文件加密碼、支持拖拽、導(dǎo)出編碼表為 CSV這個(gè)項(xiàng)目不是終點(diǎn)而是你動(dòng)手改造的第一個(gè)跳板。下面以三個(gè)真實(shí)需求為例展示如何在不破壞原有結(jié)構(gòu)的前提下安全擴(kuò)展。5.1 需求一為壓縮文件添加簡(jiǎn)單密碼異或加密Huffman 壓縮本身不加密但可在壓縮后對(duì)二進(jìn)制流做輕量混淆。最簡(jiǎn)方案是壓縮完成后用用戶輸入的密碼字符串如123對(duì)壓縮文件每個(gè)字節(jié)做異或。// 在 CompressDlg.cpp 的 OnBnClickedBtnCompress() 末尾添加 CString strPassword; GetDlgItemText(IDC_EDIT_PASSWORD, strPassword); // 假設(shè)新增了密碼編輯框 if (!strPassword.IsEmpty()) { CFile fileCompressed(m_strCompressedPath, CFile::modeReadWrite); DWORD fileSize fileCompressed.GetLength(); BYTE* pBuffer new BYTE[fileSize]; fileCompressed.Read(pBuffer, fileSize); // 密碼異或用密碼每個(gè)字符循環(huán)異或 for (DWORD i 0; i fileSize; i) { char c strPassword.GetAt(i % strPassword.GetLength()); pBuffer[i] ^ (BYTE)c; } fileCompressed.SeekToBegin(); fileCompressed.Write(pBuffer, fileSize); fileCompressed.Close(); delete[] pBuffer; }驗(yàn)證方法用十六進(jìn)制編輯器打開(kāi)壓縮文件對(duì)比加密碼前后差異解壓時(shí)需在DecompressFile()開(kāi)頭同樣做一次異或相同密碼再進(jìn)行 Huffman 解壓。5.2 需求二支持 Windows 拖拽文件到窗口MFC 默認(rèn)禁用拖拽需手動(dòng)開(kāi)啟并處理WM_DROPFILES消息。// CompressDlg.h 中添加 protected: afx_msg void OnDropFiles(HDROP hDropInfo); // CompressDlg.cpp 中添加消息映射 BEGIN_MESSAGE_MAP(CCompressDlg, CDialogEx) // ...原有映射 ON_MESSAGE(WM_DROPFILES, CCompressDlg::OnDropFiles) END_MESSAGE_MAP() // 實(shí)現(xiàn)函數(shù) LRESULT CCompressDlg::OnDropFiles(WPARAM wParam, LPARAM lParam) { HDROP hDrop (HDROP)wParam; UINT nFiles DragQueryFile(hDrop, 0xFFFFFFFF, nullptr, 0); // 獲取文件數(shù) if (nFiles 1) { TCHAR szFilePath[MAX_PATH]; DragQueryFile(hDrop, 0, szFilePath, MAX_PATH); SetDlgItemText(IDC_EDIT_SRC_PATH, szFilePath); } DragFinish(hDrop); return 0; } // 在 OnInitDialog() 中啟用拖拽 BOOL CCompressDlg::OnInitDialog() { CDialogEx::OnInitDialog(); DragAcceptFiles(TRUE); // 關(guān)鍵啟用拖拽 return TRUE; }注意DragAcceptFiles(TRUE)必須在OnInitDialog()中調(diào)用且只能對(duì)對(duì)話框本身啟用子控件如編輯框無(wú)法單獨(dú)接收拖拽。5.3 需求三導(dǎo)出編碼表為 CSV供教學(xué)分析學(xué)生常需觀察“哪些字符編碼最長(zhǎng)/最短”導(dǎo)出 CSV 可直接用 Excel 排序。// 在 HuffmanCompressor.h 中添加 public: bool ExportCodeTableToCSV(const CString strPath); // HuffmanCompressor.cpp 中實(shí)現(xiàn) bool HuffmanCompressor::ExportCodeTableToCSV(const CString strPath) { CStdioFile file(strPath, CFile::modeCreate | CFile::modeWrite); if (!file.m_pStream) return false; file.WriteString(_T(Byte,Hex,Code,Length\n)); for (const auto pair : m_codeMap) { CString strLine; strLine.Format(_T(%d,0x%02X,%s,%d\n), pair.first, pair.first, pair.second.c_str(), pair.second.length()); file.WriteString(strLine); } file.Close(); return true; }調(diào)用位置在CompressDlg中新增按鈕IDC_BTN_EXPORT_CSV點(diǎn)擊事件中調(diào)用m_compressor.ExportCodeTableToCSV(strCSVPath)。6. 我的改造習(xí)慣每次加新功能前先寫三行測(cè)試用例再動(dòng)代碼從那以后我每次給這個(gè) Huffman 項(xiàng)目加新功能都強(qiáng)制走一遍這三步寫最小測(cè)試用例比如加密碼功能先寫一個(gè)純文本文件內(nèi)容Hello World手動(dòng)用計(jì)算器算出H ^ 1、e ^ 2的結(jié)果存成預(yù)期二進(jìn)制在CompressFile()末尾加ASSERT斷言ASSERT(memcmp(pActual, pExpected, 11) 0)確保修改后行為不變用#ifdef DEBUG_ENCRYPTION包裹新邏輯發(fā)布版自動(dòng)剔除避免影響性能也方便快速回滾。這習(xí)慣源于一次慘痛教訓(xùn)某次為支持 UTF-8 路徑我把CString全部替換成std::wstring結(jié)果BitStream::WriteFile()因?qū)捵址麑懭胧嚎s文件變成空的而斷言沒(méi)開(kāi)花了兩天才定位。現(xiàn)在我的 VS 項(xiàng)目屬性里“預(yù)處理器定義”永遠(yuǎn)帶著DEBUG_ENCRYPTION;DEBUG_DRAGDROP就像給代碼上了雙重保險(xiǎn)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人妻熟女一区二区| 久久久久久久九九九九| 亚洲Av无码成人精品国产| 超碰97在线色男人??| 国产成人亚洲精品无码古代早漏男| 十八禁电影伊人网| 97欧美精品综合| 亚欧Av| 97在线免费观看| 足交视频老司机| 国产高清在线观看欧美| 97超碰色| 久久91| 青青草大香蕉在线视频| 国产精品大香蕉| 国产成人无码a| 天天综合欧美黑人| av天堂电影网| 中文字幕无码不卡啪啪| 综合色久欲| 久久国产三区| 超碰人人妻| 自拍偷拍 高清无码| 碰碰97| 人妻熟女一区二区在线视频| 97在线公开视频| 2025亚洲男人天堂| 99re不伦| 四虎影库国产精品免费| 俺去俺来也在线www| 欧美色网| 久一区久久蜜桃| 色香综合天天影视综合 | 亚欧精品久久久久久久久久久| 天天谢天天干| 天天射天天操天天干天天吃2018| 天天日天天干天天操| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | sss视频华人在线| 中文字幕 国产区| se吧提供国产乱老熟视频胖女人| 日韩AV噜噜噜一区二区三区四区 | jizz啪啪| 18禁看网站一区| 国语少妇精| 91久久青青草原精品| 天天久久| 一区二区三区免费视频入口| 精品午夜福利导航| 91精品久久久久五月天精品| 91午夜无码| 国产精品一区二区手机看片| 国产精品久久久久久久无码AV| 91精品国产一区三一| 色与欲影视天天看综合网| 天天激色| 亚洲国产97| 天天综合中文字幕 91| 青青青在线高清视频在线一二三四区| 男同专区一区二区三区在线| 91综合网站| 天天综合中文字幕 91| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美天天综合| 欧美色就是色| 美女操逼A A| 男女激烈网站最新| 国产成人自拍视频视频| 国产无套粉嫩白浆在| 日本午夜久久电影| 色噜噜国产在线| 另类亚洲图色| 蜜臀中文无码午夜| 国产无码高清操逼视频| 男人的天堂一区三区| 激情五月天视频| 亚洲精品色| 国产精品亚洲四五区在线观看| 色综合加勒比四四季| 久久久久9| 欧美 日韩第一性色| 狠久久| 男人天堂网站| 激情综合二| 超碰99在线| 国产性感在线观看| 性欧美| 国产午夜在线观看| 91粉嫩萝控精品福利网站_精品影音先锋国| 无码国产精品午夜不卡(| 亚洲天堂区| 久久久九九九九| 青青草玖玖爱| 麻豆国产视频精品观看| 五月婷婷六月色| 日本不卡二三区| 操一对老熟妇爽上天视频| 人人摸人人入| 亚洲人妻av| 操学生天天| 人人妻天天做天天爽| 黑人免费福利视频| 99热91| 欧美熟女妇同| 成年人黄色视频免费| 成年人一级黄色毛片大全在线观看| 五月丁香| 日本媚薬中文字幕在线| 国产高清在线观看欧美| 啊啊啊啊视频免费| 黄色免费网| 色色色五月婷婷| 亚洲色图 图片| 青青草玖玖爱| 一级片在线观看高清无码| 人妻久久久久久久久久久久久久久| 日韩三级在线观看mp4| 久久久78| 色婷久久| 亚洲人精品久久久| 思思热在线视频精品| 熟女精品一区二区在线观看| 岛园激情| 亚洲91射| 影音先锋国产精品| 男女香蕉一区二区| 亚洲人妻中文高清| 蜜臀久久99精品久久久久久| 91GD.COM| 欧美成人精品欧美一级乱黄一区二…| 99精品久久久久久久婷婷蜜桃| 中出后入| 国产亚洲日本精品在线| 天天看片青娱乐| 国产精品久久久三级无码| 91熟女少妇| 亚洲女毛多水多21P| 欧美72网页| 51久久夜色精品国产麻豆| 99啪啪视频| 欧美亚洲丝袜人妻制服中文99| 亚洲日韩精品在线播放| 欧美激情在线观看视频| 九九九精品成人免费视频小说| 先锋色眉乱伦资源| 亚洲性天堂| 天天日天天色| 视频国产欧美在线播放| 蜜臀人妻少妇久久在线观看| 久久精品午夜国产亚洲AV无码| 亚洲一二三四区机械| 欧美大波激情xxxx| 久久夜精品一区二区三区| 精品九九国产无码| 精品少妇一区二区三区| 五月丁香六月婷| 91性情| 日逼五月天| 天堂а√在线最新版在线| 人人操人人精品影片| 国产在线能看的你懂的| 加勒比伊人影院| 在线观看精品国产免费| 国产综合日韩伦理| 麻豆AV96熟妇人妻| 一区三区啪啪| 天天草天天日| 爱丝福利| 欧亚不卡| 欧美熟妇乱码在线一区| 日韩av在线免费网站| 亚洲精品1区| 国产精品成人无码av| 欧美综合网A| 大香蕉综合| 色色丁香| 成人在线视频网| 亚洲中文字幕在现观看| 五月天人妻综合| 99久久综合| 亚洲性爱乱操x| 伊人久久亚洲色欲综合网站| 欧美男女午夜啪啪| 亚洲精品xxx| 又黄又硬又粗又长国产视频| 97碰碰日本乱偷人妻中文的| 91超级碰碰碰| 老司机射| 日本人妻中文字幕精品| 亚洲成人精品在线一区| 人人澡人人干| 91精品国产乱码| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲成人精品在线一区| 中文字幕人妻色偷偷久久皮 | 色色五月婷| 美国黄片aaa| 日韩无码第3页| 91在线丝袜视频| 久热99| 国产浮力影院第1页| 家庭乱伦麻豆| 91亚洲综合在线| 91狠狠狠| 亚洲 日本 不卡| 超碰到97情色| 东北操逼| 尤物AV免费网站| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 中文字幕一区二区韩| 国产免费一区2区3区| 亚洲欧美91√| 97在线日韩中文字幕| 欧美激情视频一区二区三区不卡| 岛国成人av在线播放网址| 天天色综亚洲91污| 一区二区三区免费岛国片| 国产路线专区| 精…码一二三区| 欧美亚洲首页| 日韩无码一区二区三区| 久久精品国产精品一区| 偷拍综合网| 伊人天天久久动态图| 99av| 日韩欧美大片免费高清啪啪| 亚洲天堂资源在线| 99在线精品视频| 日韩本不卡视频在线观看 | 无码国产精品久久久久| 性暴力欧美猛交在线直播| 日韩啊V| 天天爽天天操啊啊啊| 五月情色天| 97欧美综合| 成人精品无码| 懂色中文一区二区三区| 秋霞无码av鲁丝片一区| 成人三级片无码| 狠狠色色| 后入 亚洲 美女 射| 啊啊啊啊啊在线观看网址| 97午夜剧场日韩| 97人亚洲综合字幕| 欧美色图97| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 艳尻美人妻| 媚薬在线视频麻豆| 97K超碰在线| 97超碰超碰| 日韩 国产 欧美自拍| 国产丝袜欧美在线视频| 日本污ww视频网站| 亚州精品丝袜-不卡成人免费| 另类亚洲图色| 另类老少妇| 97在线视频免费看| 操操吧亚洲乱伦视频| 日韩中文字幕视频在线观看| 精产国品一区二三产品| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产后入内射| 九久精品| 天天操天天射天天日| 精品在线观看视频在线| 狠狠图片青青草| 中国和日本人色哪个不下载能放| 国产在线视频午夜精华在| 日本成人免费一区二区三区| 色一色综合网| 欧美爆操91| 四虎免费视频| 国产综合色精品在线观看| 亚洲AV无码国产精品久久久久| 久久黄黄| 久久久久久免费电影| 另类图片天天影视| 99热在线观看| 日韩精品国产一区二区| 99欧美| 欧美A√综合网 | 一二三四视频中文字幕在线看| 亚洲天堂AV在线播放| 日韩AV电影网站| 国产精品久久久久久9999| 99久久久无码国产精品性啊聊| 口爆吞精在线观看| 日韩国产十八禁| 97色网| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 综合久久99| 蜜臀久久99精品久久久久久| 五月天婷婷社区| 国产一级久久久| 超碰 欧美| 免费一级特黄特色大片在线观看看| 亚洲日韩一区电影| 精品人妻高清麻豆av| 国产51色综合久久免费| 青青草在线视频欧美| 青青草国产欧美非洲黑人| 色婷婷久久| 美女丝袜激情小说| 看黄片视频免费| 日韩噜噜69| 日本欧美韩国国产在线| 欧美中字二区| 国产一级αv免费看片| 青青草日韩免费观看高清在线| 蜜桃久久一区二区| 久久99热这里只频精品6学生| 免费草草草草草视频| 丁香五月天堂网| 夜夜 中文视频rt| 8x福利精品第一福利视频导航| 欧洲色色| 上特色A在线| 天天做天天爱| 一区二区三区麻豆| 偷拍欧美激情| 乱欲一区二区| 97se亚洲| 99热免费| 色爱三区| 台湾一区国产高清在线| 青青伊人加勒比海| 120分钟婬片免费看| 91天天| 偷拍综合亚洲| 大稥蕉免费视频这里只有精品| 日本黄色精品专区网站| 成人夜夜| 超碰人妻久久人妻中文97| 亚洲成人美女无吗| 欧美一级黄色免费专区| 国产精品久久久久999| 婷婷色综合| 人妻无一区二区三区| 九9热伊人| 柠檬AV导航| 国产在线能看的你懂的| 欧美少妇高潮| 伊人伊人LD| 9 9精品一区二区三区| 九九精品无码专区免费| 揉揉揉夜夜| 精品999日本| 欧美色色色| 十八禁av无码免费网站APP| 亚洲欧美激情小说| 精品国产国产AV| 久久久久13| 国产亚州高清国产拍精| 日韩激情电影中文字幕| 蜜臀Av一区二区三区| 精品久久久久久AV无码| 伊人骚琪琪亚洲天堂网站| 传媒免费一区二区三区| 刺激性视频黄页| 亚洲超碰在线| 日韩人妻免费精品| 一级片在线观看高清无码| 亚洲风情在线观看| 国产精品久久久亚洲第一牛牛_在线观看 | 东京日日夜夜| 欧美十八禁在线看| 欧美精品自慰系列寂寞少妇 | 综合久久99亚洲人妻中文在线| 国产精品一二三免费网站| 操比国产| 日韩av不卡在线观看| 淫荡熟女乱伦网| 国产福利电影| 亚洲伊人a线观看视频| 国产高清午夜成人在线观看| 欧美亚洲图片| 日韩欧美传媒一区国产| 啊啊啊免费视频| 欧美色乱| 五月丁香六月综合缴清无码| 国产一级内射无挡观看| 日韩人妻有码免费视频| 日韩精品人妻一| 一区二区三区黄色片a| 性爱免费视频成人| 大色综合网| 激情啪啪拍91| 玖色AV| 亚洲中文制服诱惑| yazhousetuoumei| 鸥美插入视频| 少妇丝袜在线观看AV| 超碰伊人在线| 97国产精品在线观看| 大香蕉性欧美| 成人性爱免费播放| 天天色黄色影院天天操| 天堂种子在线www网资源| 玖玖婷婷五月天| 欧美日韩丝袜| 97资源制服丝袜| 99re99在线视频| 日本天天干天天操一区| 亚洲学生妹高清av| 欧美激情性爱视频网站| 乱欲一区二区| 天天插天天射| 青青国产在线拍揄自揄拍| 狠狠躁天天躁日日躁97| 日韩少妇无码| 99精品视频在线观看免费| 激情综合五月丁香| 高树玛利亚无码流出| 亚洲色图美腿丝袜| 欧美热图99| 久久精品国产亚洲AV清纯| 激情无码日韩| 国产久久一区二区午夜| 91色拍| 99夜夜操| 伊人9| 精品九九| 日韩在线观看字幕精品| 日韩成人大片在线观看| 超碰人妻久久人妻中文97| 久久精品91| 乱伦日本中文自拍| 一区二区三区激情在线观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 91美女视频在线免费观看| 97超碰国产亚洲精品| 人妻铁牛TV| 亚洲AV无线| 精品无码一区二区| 1204人成网站色www| 91美女视频| 草莓精品视频在线免费观看| 久久久婷婷婷| 精彩久久中文| 看免费的黄片| 久久大香蕉手机高清视频| 69久久久久久久久久久久久| 狠狠操使劲操| 99热亚洲| 精品999一区二区| 60秒免费视频| 少妇啪啪自拍| 天堂在线一区二区| a片久久久久久久久久久久 | 人妻在线臀日韩| 91天堂丝袜美腿| 国产成年精品高清在线观看91| 亚洲天堂色图| 97日韩| 发朗少妇买婬全视频中文| 人妻熟女一区二区| 午夜影美女日鸡鸡天天视频国产| 国产偷仑| 都市久久精品激情亚洲| 超碰97男人| 亚洲一区在线观看欧洲| 青青青国产| 亚洲情欲| 天天淫人人妻日日色| 亚洲综合在线91| 色情五月综合婷婷| 蜜汁欧美| 伊人久久婷婷| 97综合激情| 啊啊啊操一区| 啊啊啊好想要| 欧美激情片一区二区| 日韩成人性日韩成人性爱视频在线免费观看| 国产家庭乱伦网址| 国产自偷| 在线 制服丝袜中出 人妻| 蜜臀99久久国产| 99这里都是精品| 性猛交| 日韩天堂av电影在线观看| 男女性无套 免费九一| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩欧美亚洲一区二区三区影院| 日日爽熟女| 激情六月天| 久久久久九九九| 欧美在线伊人色| 在线免费观看日韩一区| 人妻丰满熟妇av无码区蜜桃| 97九色人妻| 思思热在线视频免费| 亚洲揄拍网| 亚洲精品a人片在线观看视| 国产丁香精品露脸视频| 蜜桃成人1区2区3区| 国产精品久久久吖| 日本黄页视频在线观看| 亚洲欧美精品91| 久久久久亚洲熟妇熟女| 加勒比性爱成人在线| 屌色在线97视频| 国产狂喷潮在线精品| 丝袜高跟澳门91视频| 久久精品国产精品亚洲艾通辽熟妇 | 天天综和| 激情专区综合| 国产丝袜欧美在线视频| 久久久天美| 免費人妻夜夜爽天天爽爽一区| 国产区91柔拿会所技师| 亚洲欧美小说| 欧美高清在线| 熟女欧美日韩综合婷婷| 狠狠操夜夜操蜜桃视频三区| 久久综合资源一区二区| 色悠久| 午夜精品久久久99热蜜桃的功能特点| 9/A片 | 久久久久婷婷精品av电影| 亚洲欧洲视频小说在线观看| 久久艹逼视频| 午夜操逼不卡| 国产91精品在线免费| 死我十八禁| 中美日韩毛片| 狠狠久久亚洲欧美专区| 国产一区二区视频在线播放| 懂色中文一区二区三区| 久久精品黄色| 97在线视频免费看| 天天操天天7| 久久久久久久久九九久孕交| 青青操青娱乐| www久| 亚洲一区二区三区AV无码| 亚洲无码成人精品| 99久久亚洲精品无码毛片潘甜甜| 人人妻人人爽一区二区三区| 亚洲少妇免费视频\| 成人五月天色网| 神马久久久久眼| 欧美夜夜狠| 天天做天天爽| 久热伊人| 色99视频| 久久免费老司机精品| 国产免费一区二区在线A片视频| 成人精品一区二区91毛片不卡| 日本东京热久久久电影| 国产h小视频在线观看免费| 精品国产乱码久久久久久免费| 超碰欧美在线欧美| 亚洲精品不卡一二三区| 狠色婷婷久久一区二区三区_| 亚州成人A√| 九九久久首页| 三级网站超变态精品| 欧美午夜色妇色鬼| 天美传媒AV国产在线| 1204av韩国| 激情文学 亚洲图片| 亚洲宗合网| 超碰是碰在线观看| 快播久久人人aV| 亚洲高清欧美总合| dy888午夜老子影视达达兔| 日本不卡一区二区| 两女互慰AV高潮喷水在线观看| 最新av中文字幕高清| 色色色日本| 九九精品99| AV污污污污| 久久一级无码精品毛片6| 91小视频| 精品精品精品| 91夜夜蜜桃臀1区2区3区| 亚热日本熟女| 偷拍导航视频网站| 国产一区二区在线播放| 欧美日韩啪啪电影| 日韩av不卡在线观看| 日日日日日| 色五月69夫妻| 夜夜骑日日| 国产9区| 在线看的av| 日本韩欧美在线播放a| 久久精品欧美一区蜜桃| 青草视频人妻在线观看| JuliaAnnXXX888| 日本东京热久久久电影| 黄片com.| 青青草九九九九九| 91处女在线视频| 亚洲毛片久久| 高清成年美女黄网站免费大全 | 国产综合久| aaa亚无码专区| 一个人免费HD91视频| 久操视频免费在线观看| 久久精品中文字幕女同| 九九九九精品九九九九| A 天堂在线观看视频| 蜜桃成人1区2区3区| 99re这里| 成年人网站在线免费观看| 亚洲精品啪视频| 欧美三级一级| 精品少妇一区二区| 曰韩操B| 成人精品电影| BBBBB97COM| 日本欧美一区二区三区免费| 嗯嗯,啊啊,国产精品| 色欧美色交综合| 亚洲h片在线免费观看| 偷拍欧美综合| 久热这里只有精品9| 国产美女mm131爽爽爽爽| 欧美一区二区三区大综合| 91亚洲图片| 国产亚州高清国产拍精| 欧美日韩亚洲高清不卡一区二区三区| 南澳成人一级片在线播放| 97人妻免费中文字幕| 75大香蕉| 亚洲精品一二牛牛| 久久久艹艹艹| 国产成人久久精品蜜臀| 少妇超碰在线| 欧美天堂在线| 蜜桃久久一区二区三区| 999国产精品999久久久久久| 九九黄色视频在线观看| 欧美日韩美女精品久草一区二区三区 | 懂色中文一区二区三区| 亚洲限制级在线| 黄骗免费网站| 久久久久久久久久久97| 亚洲一区日韩精品中文字幕| 日本天天吊| 久久夜夜| 九九久久国产精品| 尤物网址| 中文字幕乱偷人妻久久艾草网| 一二三四视频中文字幕在线看| 亚熟在线| 国产一区在线观看无码AV| 丰满搜索结果 -第18页- 久久高清无码 | 亚洲高清无毛一区二区| 91嫩草欧美| 国产无码高清操逼视频| 夜草欧美| 国产亚洲精品美女久久久m| 欧美在线视频播放| 一个人免费HD91视频| 蜜桃臀久久| 夜夜草网站| 91爱网| 日本亚洲vr欧美不卡高清专区| 蜜桃狠狠色伊人亚洲综合网站| 国产精品情侣啪啪| 午夜超爽| 婷婷激情五月综合| 亚洲男人天堂Av| 日本操逼无码| 欧亚成人在线视频| 99色天堂| 人人操人人干xxx| 青草园大香蕉| 亚洲av夫妻操穴网| 搞中出久久| 夜夜嗨一区| 很黄很污的免费网站 | 亚洲欧美啪啪| 久久99国产综合精品女同| 天天操人人操狠狠插| 欧洲一区二区三区四区在线观看| 色欧美天天| 国产精品久久天天干| 亚州欧美综合| 日韩国产品视频中文字| 乳欲人妻办公室奶水| 欧美成97爱| 自拍欧美| 九九热在线视频| 91丨九色丨国产丨人妻在线| 97久久超碰国产精品| 后入内射蜜桃臀| 伊人色综合网电影| 久久精品国产亚洲AV高清演员表| 少妇熟女视频一区二区三区| 久久人人爽爽爽人久久久| 色综合久久88色综合久久天天| 久久久久久九| 夜色97| 欧美美女啪啪视频| 啊视频在线| 精品久久无码午夜福利| 亚欧洲日韩国产精品| 91美女在线视频| 这里只有精品视频| 亚洲欧美国产成人综合不卡| 午夜国产成人精品视频| 国产精品午夜福利| 91国精产品| 91jk色拍| 亚洲综合小说另类图欧美视频激情小说色五月天 | 午夜欧美女人操逼| 国产亚洲性生活视频播放| 青娱乐黄色录像| 久久久精| 亚洲性少妇| 九九成人精品| 99热97| 97任你吞精| 午夜福利1区2区3区| 亚洲se91| 亚洲精品国产拍免费91在线| 好舒服视频| 天天天乱色综合全| 超碰亚洲欧美日韩无| 操操啪| 婷婷丁香在线| 日韩成人综合网| 中国探花熟女| 国产无套粉嫩白浆在| 亚洲成?V人片在线观看福利| 欧美十八禁导航成人| 69少妇一区二区| 日韩成人在线性爱视频| 男女做爰猛烈动高潮A片免费应用| 国产后入| 91丨国产丨白浆秘 洗澡动漫| 色欲av国内精品久久久久久| 麻豆成人AV| 欧州91高潮| 亚洲欧洲激情卡通另类文学四射小说网站 | ai欧美亚洲小说| 日韩噜噜69| 亚洲宗合网| 九9精品| 男人的天堂三级| 日韩天天综合| 亚洲情色视频| 亚洲国产综合视频| 欧美日韩啪啪电影| 亚洲一曲日韩精品| 久久免费精品视频免一| 蜜乳av首页| 久久一二三四五六七八九区区区 | 免费人人搞97| 粉嫩小泬久久久一区二区| 大乔未久88一区| 欧美日韩97在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久久中出在线| 色哟哟1区2区| 久久精品无码熟妇一区二区三区视频导航 | av在线播放国产一区| 国产黄片精品在线| 日本高清一区二区在线| 99热这里是精品| 啊啊啊com| 香港日本韩国人妇99www.wccm20| 熟妇激情| 大香蕉综合网| 国产乱色国产精品免费视| 啪一啪免费视频| 午夜免费视频1000| 美欧色综合| 一区二区三区国产在线播放| 精品9区| 在线黄页看毛片| 欧美日韩一干二干| 婷婷精品久久av影视| 91夜色| 人人插人人摸人人| 麻豆天美国美国产| 2019亚洲男人天堂| 加勒比综合网| 亚洲天堂无码| 久久精品一区| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美色网络| 亚洲,日韩,欧美,成人播放| 一区二区三区机械有限公司| 精品国产污一区二区三区| 五月天欧美色图| 91精品无码久久久久久久| 蜜乳AV一区| 啊啊啊啊好大好硬啊啊啊啊啊| 午夜爽爽爽| 上海一级黄片| 91男女啊啊啊| 久久99干一本高清| 免费啪啪av| 国模一区二区三区| 亚洲女人毛茸茸91| 久久av无码| 久久人妻精品| 午夜AV人气不卡| 激情婷婷丁香| 爱妻综合网| 乱伦熟妇一区二区| 一区二区偷拍拍视频| 看看日B真人视频| 最新日日夜夜天天干干| 嗯啊不要啊在线| 欧美色图99| 粉嫩粉嫩一区性色AV片| 歐美一級亂黃99在綫精品| 男人的天堂99| 色色婷婷丁香| 久久99干一本高清| 午夜福利免费精品视频| 久久久久9999精品九九九| 欧美18老人禁| 欧美久久草熟女| 9久久久久| 一区二区日韩欧美久久| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 91扒丝袜综合在线| 夫妻天天操岛国视频| 91婷婷| 大逼色网站| 色9999日韩国产| 国产又大又粗又长视频| 亚洲一区二区精品福利| 久久视频,这里只有精品| 青青伊人这里只有精品| 91天天爱| 人妻一区视频| 台湾佬中文娱乐网久久久久久久久久com | 色综合 加勒比| 免费啪啪一级视频| 女同性恋中文字幕| 亚洲国产激情国产av| 91麻豆天美国产欧美高潮| 国内精品伊人久久久久影院会| 加勒比久久av| 亚洲色诱惑| 色综合天天爱去电影网| 嗯嗯嗯好爽| 日本一区二区中文字幕久久| 美女人妻色网站| 国产美女口爆吞精视频| 91日产欧美| 免费中文在线| 一区二区视频在看| 日韩精品三区四区| 影音先锋新男人| 国产女人9999| 亚洲激情网| 欧美人体性爱互联网第一页婷婷日本| 亚洲无码 国产无码| 91天天综合网,天天综合网| 久久国产免费激情视频| 91亚.色| 熟妇熟女视频一区二区三区| 亚洲第一页第二页激情| 97频视在线| 五月天激情四射| 国产精品人妻免费精品| 干B| 制服乱伦| 日韩在线地址一| 亚洲在钱| 91美女在线精品视频| 高潮的A片激情扒开一区| 狠狠操狠狠燥| 91九久| 国产综合网站在线播放| 青青操国产夫妻| 国产亚洲色婷婷99精品91| 欧美成人一区二区三区在线播放| 超碰97亚洲| 亚洲综合射| 97日本超碰综合| 日韩色欲久久一二三四区| 超碰97COm中文| 97超碰巨乳| 欧美毛片在线网| 国产中文精品一区二区在线观看| 99re黄| 精品人妻一区二区三区夜夜| 国产日比| 国产精品999zyz| 蜜臀久久99精品久久久| 亚洲人综合| 青青草视频在线观看一区二区| 国产欧美日韩在线不卡第一页| 中文字幕国产在线天堂| 安微少妇操BBB| 10000部十八禁看电影| 色99在线| 亚州AV无码国产精品| 日韩免费中文字幕视频| 超碰在线日韩一区| 91久久国产综合精品| 欧洲天天在线| 亚洲午夜AV| 国产自产自拍| a片偷拍视频| 亚洲资源站| 91中文字幕在线观看| 欧洲精品久久| 男人的天堂欧美| 亚洲熟妇图片| 欧美少妇熟女| 99九九久久| 国产精品免费视频人成| 日本东京热加勒比久久| 99亚洲国产精品色一区二区三区| 欧美精品黑人猛交高潮| 97在线观看免费| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 九九综合久久中文字幕| 禁片 高清 在线观看视频网站| 人妻中文字幕日韩电影| 午夜视频好爽啊| 色在线综合| 日韩欧美福利视频看看| 清纯唯美亚洲| 精品国产乱码久久久久久网站入口| 嗯~啊~轻一点 视频| 午夜无码熟妇丰满人妻| 制服中出中文人人精品| 国产亚洲色婷婷99精品91| 啊啊啊啊在线观看网址| 久久超碰亚洲人| 色好看av| 亚洲视频,小说| 97青娱乐超碰久久| 欧美 综合| 天美精品一区二区三区四区在线观看| 不卡九肏| 操B久久| 久9久9精品| 中文字幕av丝袜| 日韩大香蕉精品在线视频| 国产丸一视频| 97久操| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 大奶的诱惑| 国产精品九九九| 综合久久久久久久久91| 免费a级毛片av无码久久精品中文字幕| a片在线播放| 国产精品视频自拍在线| 2018天天干在线视频| 精品亚洲黄色片 国产精品导航一区二区| 久操网址| 久久性爱城| www.色婷婷| 丝袜狠狠草尤物人妻av91| 人妻社区男人天堂| 狠操91,com| 久久久555| 天天草天天日| 日韩欧美tv一区二区在线观看| 精品毛片久久久精品毛片| 狠狠色婷婷777| 中文字幕av色| 伊人操操| 偷偷人人精品女女久久| 无码久久国产| 久久久亚洲欧美综合| 五月天精品| 丰满搜索结果 -第18页- 久久高清无码| 天美传媒在线一区| 无套后入双马尾| 久久久99免费| 欧美精品999| 亚洲天堂另类小说男人| 懂色av中文字幕一区二区三区天美| 日韩精品亚洲一二三| 被窝影院午夜看片无码| 国产强奸超碰AV| 久久国色天香香蕉| 中文日韩欧美熟| 日韩大香蕉| 黑人无码一区二区| 蜜色网色哟哟| 午夜九九| 操人人| 91丨九色丨东北熟女| 国产久久免费精品视频| 高清无码国产亚洲| 欧美日韩少妇色情| 欧美天天干| 人人操,操人人| 久九九九九九九热| 久久精品操| 亚洲免费在线探花| 国产精品天美传媒| 亚洲校园激情| 欧美激情另类一区二区| 精品夜夜澡人妻无码| 99热日| 欧美亚洲素人制服精品| 98一区二区精品| 亚欧美色图| 国产成人精品必看| 91精品电影18| 久艹免费| 爱av免费| 久草精品一区 | 一区二区三区黄片免费观看| 97久精品| 日本不卡一二区| 亚洲码专区| 色老牛| 91av一区二区在线观看| 亚洲情色五月天| 嗯嗯不要视频| 91九色首页| 97超碰欧美手机在线| 欧美一级久久久久久久大片动画| 久久久久久久久久久97| 欧美翘臀视频网站一区二区三区| 亚洲精品人妻吞精av| 日韩人妻丝袜美腿中文| 国产精品无码久久久久2028| caopeng97人妻| 操屄日韩| 强奸少妇AV导航网| 国产熟妇 码视频户外直播 | 国产白丝精品在线观看| 欧美日韩高潮喷水91| 天天干18禁| 熟妇人妻精品一区二区视频色欲| 中国91AV| 天天干天天插| 色与欲影视| 欧美日韩丝袜| 蜜臀视频网站| 狼人综合婷婷激情四射 | 97色色网| 人爽不卡视频| 欧美日韩m| 国产无码精品久久久久久| 啊啊啊用力在线观看| 秋霞网无码| 97超久碰| 黄色电影观看久久9| 青青草久草AV| 一区二区三区精品视频| 小电影欧美91| 男人的天堂2019AV| 欧美精品三级黄片| 国内操逼视频二区| 国产欧美一级在线观看| 国产av色网| 久久婷五月| 99久久99久久免费精品蜜臀| 九月丁香婷婷| 手机看片日韩人妻| 蜜桃丰满熟妇av无码区不卡| 日韩亚洲Av人人夜夜澡人人爽| 精品大全99999| 天天干天天爽| 亚洲码在线中文在线观看| 超碰久久草| 99色色网| 精品久久青青草| 日本人妻中文字幕精品| 97久久天天综合色天天综合色电影 | 亚洲色9| 久久性爱大全| 天天肏天天干| 好看的久久不射无码影视影院| 嫩草影院性色| 久久久久夜夜夜夜| 欧美少妇性乱| 一起草av| 一级特黄aaa大片在线观看成人一级片在线观看| 制服中出中文人人精品| 九九Av| 久久受www免费人成| 久久久久久久久女黄| 日韩美女久久一区二区三区| 国产99精品一区二区三区免费| 亚洲欧美天| 蜜奶av| 97香蕉碰碰人妻国产欧美| 国产强奸乱伦无码视频| 丝袜色综合| 不卡超碰护士AV在线免费播放| 免费超碰97久久| 久久熟女嫩草成人片免费 | 国产sv美女内射| 97 超碰 人人做 人人爱| 国模精品娜娜一二三区| 亚洲国产精品无码AV久久久| 亚洲诱惑天堂| 亚洲自拍另类丝袜综合| 婷婷综合激情| 18禁精品网站在线看| 九九九九精品| 蜜区区视频79| 日韩精品9区| 日韩二级| 人人操AV| 国产真实野战在线视频| 亚洲日韩精品久久久久一区壹牛| 欧美在线大香999| 欧美性生活内射| 成年男人的天堂| 五月丁香啪| 久久露脸国产老熟女| 在线一道啪| 久久国产逼| 亚欧色图在线激情| 最新制服中文第一页| 亚洲熟女少妇免费视频| 久久 亚洲 日韩 人妻| www.97在线| 亚洲不卡AV在线| 丁香五月天堂| 操逼网站地址| 亚洲成人福利电影免费| 成人性爱av| 男女日B国产| TS人妖另类精品视频系列| 97免费视频在线| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 久久人妻熟女一区二区| 久久久96精品| 日韩不卡一二三四| 熟女网站最新| 欧美色天堂网在线视频| 欧美18禁91| 亚洲熟妇丝袜在线观看| 一区二区你上我| 麻豆国产尤物AV| 人人摸人人干| 开心婷婷五月| 中文字幕在线观看丝袜| 色婷婷激情| 日产狠狠干| 无码99| 久久精品视频久久久| 91女人的网站| 超碰国产情侣自拍网| 91性色| 久久久九九九| 久久亚洲中文字幕视频| A级国产欧美激情在线| 超碰在线人妻中文字幕| 欧美真人抽搐一进一出gif| 中文字幕美女91| 日韩综合成人免费视频| 国产精品熟女九色九色蜜臀| 探花一区二区三| 亚洲av影音先锋| 久久激情综合| 欧美图片偷拍| 97超久碰| 亚洲日本天堂|