当前位置: 首页 > news >正文

政府网站颜色营销网络是什么意思

政府网站颜色,营销网络是什么意思,建设网站时seo标题,工作室官网模板NTFS 文件搜索库 中文 | English 一个快速搜索NTFS卷文件的库 在这里插入图片描述 特性 快速扫描 NTFS 格式驱动器上的所有文件实时快速同步文件变更(创建, 更名, 删除)支持通配符查询文件名或文件路径重启自动更新文件变动, 无需重新进行全盘扫描 API描述 初始化并指定…

NTFS 文件搜索库

中文 | English

一个快速搜索NTFS卷文件的库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特性

  • 快速扫描 NTFS 格式驱动器上的所有文件
  • 实时快速同步文件变更(创建, 更名, 删除)
  • 支持通配符查询文件名或文件路径
  • 重启自动更新文件变动, 无需重新进行全盘扫描

API描述

  • 初始化并指定你关注的驱动器

    //
    // @brief: 初始化(驱动器掩码)
    // @param: dwDriveIndexMask     驱动器索引掩码(位组合: C: 0x01 D: 0x02 E: 0x04...)
    // @param: strDbPath            数据库文件路径
    // @param: fRebuildDb           是否重建数据库
    // @ret:   BOOL                 操作是否成功
    BOOL NTFS_Search_Initialize_By_Drive_Mask(DWORD dwDriveIndexMask, LPCTSTR lpDbPath,bool fRebuildDb
    );//
    // @brief: 初始化(驱动器盘符)
    // @param: strDriveList         驱动器列表, 如: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    // @param: strDbPath            数据库文件路径
    // @param: fRebuildDb           是否重建数据库
    // @ret:   BOOL                 操作是否成功
    BOOL NTFS_Search_Initialize_By_Drive_Letter(LPCTSTR lpDriveList,LPCTSTR lpDbPath,bool fRebuildDb
    );
    
  • 重置并指定你关注的驱动器

    
    //
    // @brief: 重置(驱动器掩码)
    // @param: dwDriveIndexMask     驱动器索引掩码(位组合: C: 0x01 D: 0x02 E: 0x04...)
    // @param: strDbPath            数据库文件路径
    // @param: fRebuildDb           是否重建数据库
    // @ret:   BOOL                 操作是否成功
    NTFSSEARCH_API BOOL NTFS_Search_Reset_By_Drive_Mask(DWORD dwDriveIndexMask,LPCTSTR lpDbPath,bool fRebuildDb
    );//
    // @brief: 重置(驱动器盘符)
    // @param: strDriveList         驱动器列表, 如: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    // @param: strDbPath            数据库文件路径
    // @param: fRebuildDb           是否重建数据库
    // @ret:   BOOL                 操作是否成功
    NTFSSEARCH_API BOOL NTFS_Search_Reset_By_Drive_Letter(LPCTSTR lpDriveList,LPCTSTR lpDbPath,bool fRebuildDb
    );
    
  • 获取当前文件总数

    //
    // @brief: 获取当前文件总数
    // @ret:   LONGLONG               当前文件总数
    NTFSSEARCH_API LONGLONG NTFS_Search_GetCount();
    
  • 查询文件, 支持通配符(* 匹配 0 个或多个字符 ? 匹配 1 个字符)

    //
    // @brief: 查询文件路径
    // @param: lpKeyword            关键字, 如: "C:\*.zip"
    // @param: cb                   查询回调函数(返回FALSE终止结果枚举)
    // @param: lpData               回调函数附加参数
    // @ret:   BOOL                 操作是否成功
    NTFSSEARCH_API BOOL NTFS_Search_Query(LPCTSTR lpKeyword,NtfsSearchCallback cb,LPVOID lpData
    );
    
  • 反初始化

    //
    // @brief: 反初始化
    // @ret:   void                 操作是否成功
    NTFSSEARCH_API VOID NTFS_Search_Uninitialize();
    

性能描述

  • 拥有较好的性能

    • 全盘扫描 77 万文件耗时约 13秒
    • 搜索 * 耗时 1.3秒
    • 搜索 *.zip 耗时 0.2秒
  • 内存占用小

    • 77 万 文件数内存占用仅 100MB 左右
  • 数据库文件占用

    • 77 万 文件数据库存储占用 300+ MB 磁盘空间

使用例子

#include <windows.h>
#include <tchar.h>
#include <locale>
#include <string>
#include <vector>
#include "../NTFS_Search_Lib/include/NTFS_Search_Api.h"#ifdef _UNICODE
using _tstring = std::wstring;
#else
using _tstring = std::string;
#endif#ifndef _DEBUG#ifdef _UNICODE#ifdef _WIN64
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x64_W.lib")
#else
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x86_W.lib")
#endif#else#ifdef _WIN64
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x64_A.lib")
#else
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x86_A.lib")
#endif#endif#else
#ifdef _UNICODE#ifdef _WIN64
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x64_WD.lib")
#else
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x86_WD.lib")
#endif#else#ifdef _WIN64
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x64_AD.lib")
#else
#pragma comment(lib, "../NTFS_Search_lib/lib/NTFS_Search_Lib_x86_AD.lib")
#endif#endif#endifstd::wstring _MultiStrToWStr(UINT CodePage, const std::string& str)
{int cchWideChar = ::MultiByteToWideChar(CodePage, 0, str.c_str(), -1, NULL, 0);std::wstring strResult(cchWideChar, 0);size_t nConverted = ::MultiByteToWideChar(CodePage, 0, str.c_str(), (int)str.size(), &strResult[0], (int)strResult.size());strResult.resize(nConverted);return strResult;
}_tstring AStrToTStr(const std::string& str)
{
#ifdef _UNICODEreturn _MultiStrToWStr(CP_ACP, str);
#elsereturn str;
#endif
}int _tmain(int argc, LPCTSTR argv[])
{setlocale(LC_ALL, "");clock_t tmBegin = ::clock();clock_t tmEnd = ::clock();_tstring strDriveList = _T("");_tstring strDbPath = _T("");// 初始化NTFS_Search_Initialize_By_Drive_Letter(strDriveList.c_str(), strDbPath.c_str(), false);if (0 == NTFS_Search_GetCount()){_tprintf(_T("扫描指定驱动器: %s\n"), strDriveList.c_str());tmBegin = ::clock();NTFS_Search_Reset_By_Drive_Letter(strDriveList.c_str(), strDbPath.c_str(), true);tmEnd = ::clock();_tprintf(_T("扫描耗时: %d毫秒\n"), tmEnd - tmBegin);}_tstring strKey;while (true){char szBuf[MAX_PATH] = { 0 };_tprintf(_T("文件数: %llu\n"), NTFS_Search_GetCount());_tprintf(_T("命令: \n"));_tprintf(_T("    :r  重新扫描, 如: :r\n"));_tprintf(_T("    ::  重新扫描指定驱动器, 如: ::CDEF\n"));_tprintf(_T("    :q  退出, 如: :q\n"));_tprintf(_T("查找关键字: "));strKey.clear();while (strKey.empty()){gets_s(szBuf, sizeof(szBuf));strKey = AStrToTStr(szBuf);}if (0 == _strnicmp(szBuf, "::", 2)){strDriveList = strKey.substr(2);_tprintf(_T("重新扫描指定驱动器: %s\n"), strDriveList.c_str());tmBegin = ::clock();NTFS_Search_Reset_By_Drive_Letter(strDriveList.c_str(), strDbPath.c_str(), true);tmEnd = ::clock();_tprintf(_T("总共耗时: %d毫秒\n"), tmEnd - tmBegin);continue;}if (0 == _stricmp(szBuf, ":r")){_tprintf(_T("重新扫描\n"));tmBegin = ::clock();NTFS_Search_Reset_By_Drive_Letter(strDriveList.c_str(), strDbPath.c_str(), true);tmEnd = ::clock();_tprintf(_T("总共耗时: %d毫秒\n"), tmEnd - tmBegin);continue;}if (0 == _stricmp(szBuf, ":q")){_tprintf(_T("退出\n"));break;}_tprintf(_T(R"(查询中...)"));_tprintf(_T("\n"));std::vector<_tstring> fileList;tmBegin = ::clock();int nRes = NTFS_Search_Query(strKey.c_str(), [](LPVOID lpData, LPCTSTR lpPath) -> bool {std::vector<_tstring>* pList = (std::vector<_tstring>*)lpData;pList->push_back(lpPath);return true;},&fileList);tmEnd = ::clock();int nIndex = 0;for (const auto& item : fileList){_tprintf(_T("%d: %s\r\n"), ++nIndex, item.c_str());if (nIndex >= 100){break;}}_tprintf(_T("\n"));_tprintf(_T("耗时: %g秒 查找结果: %d \n"), (double)((tmEnd - tmBegin)) / 1000.0f, (int)fileList.size());}NTFS_Search_Uninitialize();return 0;
};

动态库 & 静态库

https://gitee.com/flame_cyclone/ntfs_search
http://www.zhtcad.com/news/5177/

相关文章:

  • 做网站商城前景怎么样攀枝花seo
  • 个人网站域名备案网站收录一般多久
  • kesion系统做网站教程爱站小工具计算器
  • 用腾讯云服务器做网站武汉大学人民医院官网
  • 沈阳微信网站制作价格网站seo快速
  • 重庆网站推广报价网店代运营可靠吗
  • 宝安高端网站建设有必要买优化大师会员吗
  • 贵港网站建设厦门网络推广哪家强
  • 政府网站 专题建设全国免费信息发布平台
  • 自建网站推广百度推广如何计费
  • 网站外部链接建设北京百度推广优化
  • 什么网站能让小孩做算术题惠州seo快速排名
  • wordpress4.9漏洞利用东莞百度seo推广公司
  • 苏州自学网站建设平台启信聚客通网络营销策划
  • 李氏牛仔网站建设风网站百度收录
  • 网站和域名区别吗湖南网站推广公司
  • 宝安新桥h5网站建设步骤网站长尾关键词排名软件
  • 专业开发网站设计产品推广方法有哪些
  • 微企免费网站建设大量微信群推广代发广告
  • 做网站app要多钱淘宝店铺怎么免费推广
  • 网站打开不了怎样做怎样在百度上免费建网站
  • 长安网站建设费用seo 网站优化推广排名教程
  • 广东快速做网站公司哪家好青岛seo关键词优化公司
  • 项目合作网站西安网站建设网络推广
  • 营销型网站.b2b平台推广
  • 阿里巴巴国际站做2个网站有用外链生成器
  • 给千图网等网站做设计赚钱吗seo查询排名软件
  • 人妖怎么做的手术视频网站专业的网页制作公司
  • 上海正规网站建设耗材制作一个简单的html网页
  • 网站开发拖延交货算诈骗吗windows系统优化软件