c++读取inf文件,判断版本是否一致

news/2025/2/13 1:03:00/

在驱动安装时,通过inf文件安装,碰到有些驱动包中可能有多个inf文件,不知道选择哪一个来安装。但一个个打开,会发现它们的版本其实好像不一样。因此想到读取每一个inf文件中的版本信息,与自己提前决定好的版本号相比较,匹配就选择那一个inf文件。


以下是匹配版本号的代码,用到了Qt的代码:

bool isSameVersion(const QString& strSrcPath, const QString& version)
{bool isSame = false;string strSrcPath2 = strSrcPath.toStdString();size_t len = strSrcPath2.length();wchar_t* bufSrcPath = new wchar_t[len + 1];MultiByteToWideChar(CP_ACP, 0, strSrcPath2.c_str(), len, bufSrcPath, len * sizeof(wchar_t));bufSrcPath[len] = 0;//获取inf文件中Version模块中的DriverVer字段值TCHAR srcVersion[100] = { 0 };GetPrivateProfileString(L"version", L"DriverVer", L"", srcVersion, sizeof(srcVersion), bufSrcPath);//01/20/2021,22.30.0.11 ;DATE HAS TO BE IN FOLLOWING FORMAT MM/DD/YYYYQString infVersion = QString::fromWCharArray(srcVersion);infVersion = infVersion.mid(0, infVersion.indexOf(";"));infVersion = infVersion.mid(infVersion.indexOf(",")+1);infVersion = infVersion.replace(" ", "");if (infVersion == version)isSame = true;delete[] bufSrcPath;bufSrcPath = nullptr;return isSame;
}

http://www.ppmy.cn/news/1157832.html

相关文章

WebDAV之π-Disk派盘 + Xplore

手机文件太多、太乱,本地目录中找不想要的文件,怎么办?推荐使用Xplore将手机中的文件以不同的文件方式罗列出来,并展示给用户。文件管理器以图片、音乐、视频、文档、压缩包及安装包等类型进行分类,使手机中的文件一目了然的分列开。也可以对每个分类下的文件进行不同的操…

FilterRegistrationBean能不能排除指定url

文章目录 什么是FilterRegistrationBean举个栗子但是如果我想要排除某些uri方法总结FilterRegistrationBean只能设置指定的url进行过滤,而不能指定排除uri,只能使用OncePerRequestFilter的shouldNotFilter方法,排除uri 什么是FilterRegistrationBean FilterRegistrationBean是…

静态文本控件

目录 1、静态文本控件的目的: 2、静态文本控件的一些属性设置: 3、为静态文本控件添加类 : 4、写鼠标点击事件 : (1)、第一个按钮实现改变文本内容 (2)、第二个按钮实现弹出文本内…

nRF52832蓝牙从机

具体内容直接参考《nRF52832开发指南》 本文仅对关键内容和容易搞错的内容进行描述。 广播事件 扫描事件 连接事件 从机框架 日志配置和初始化log_init,具体参考手册和示例程序;APP定时器初始化timers_init,具体参考手册和示例程序&…

unordered_set unordered_map 的封装

目录 1. 哈希的概念 1.1. 哈希冲突 1.2. 哈希函数: 1. 直接定址法 2. 除留余数法 1.3. 闭散列实现哈希 1.4. 开散列实现哈希 2. 哈希的应用 2.1 位图的概念 2.1.1. 问题: 2.2.1. set ​编辑 2.2.2. reset 2.2.3. test() 2.2. 位图的实现…

终面问题_Hr

① 你能不能干这件事? ② 你想不想干这件事? 同样 优秀的两个人 → 看谁 热情度、忠诚度更高 (1)什么背景下做的? (2)你担任的角色是什么? (3)你做了哪些…

java线程池实战

线程池是一种常用的并发编程技术,它可以有效管理和复用线程,提高程序的性能和资源利用率。线程池本质是池化技术,和连接池类似,创建连接与关闭连接属于耗时操作,创建线程与销毁线程也属于耗时重操作。为了提高效率&…

网工配置命令总结(1)---Web访问及vlan配置

目录 1.Telnet远程登录设备 2.用户通过Web网管登录设备 3.端口隔离功能的实现 4.配置vlan聚合 5.部分vlan间互通&#xff0c;部分vlan间隔离&#xff0c;vlan内用户隔离 6.限制内网网段互访 1.Telnet远程登录设备 1.使能服务器功能 <HUAWEI> system-view [HUAWEI] …