C++实现软件版本号管理类

Visual Studio 给C++项目增加版本号,对版本号进行模块化管理 在资源目录那里选择,新增版本资源这一步比较简单正常项目中,经常有几十个dll项目,多个exe项目。要同时对这些版本进行管理,这里有一个简单的思路。 阅读详情

最近做了个更新程序,更新下配置文件后通过对比版本号大小来确定是否有更新。原来仅仅只是简单的比较字符串的大小,用_tcscmp来做的,但是在形如:2.2.12.6和2.2.9.6对比时,明显会不对。于是就用C++写了一二个简单的版本号转化、对比的类。

代码如下:

#pragma once
#include <string>
using std::wstring;


class CVersion
{
public:
	CVersion()
		:m_nMajorNumber(0)
		,m_nMinorNumber(0)
		,m_nRevisionNumber(0)
		,m_nBuildNumber(0)
	{

	} 
	CVersion(const wstring& strVersion)
		:m_nMajorNumber(0)
		,m_nMinorNumber(0)
		,m_nRevisionNumber(0)
		,m_nBuildNumber(0)
	{
		GetVersion(strVersion);
	}
	virtual ~CVersion()
	{
	}
	bool IsDigitString(const wstring& strValue)
	{
		if ( strValue.empty() )
			return false;
		for ( size_t i=0; i<strValue.size(); ++i )
		{
			if ( !iswdigit(strValue[i]) )
				return false;
		}
		return true;
	}
	bool GetVersion(const wstring& strVersion)
	{
		int nBegin=0, nPos = 0;
		vector<wstring>	numList;
		wstring strSub;
		while( (nP
C++编程之自定义日志类 ——log4cpp使用详解 C++编程之自定义日志类 ——log4cpp使用详解log4cpp简介与安装log4cpp安装log4cpp简单介绍layout布局——日志输出格式log4cpp::BasicLayoutlog4cpp::PatternLayoutappenderlog4cpp::FileAppenderlog4cpp::RollingFileAppenderlog4cpp::OstreamAppenderlog... 阅读详情

相关推荐

Dev-Cpp: C++软件开发的集成环境

软件编辑器是程序员每天都在使用的工具,它的重要性不言而喻。C++软件编辑器是针对C++语言开发的专业编辑工具,它能提供特定的编程环境,使开发者能够高效编写代码,同时提供代码的辅助功能,提高开发效率。C++软件编辑器的特点主要体现在其强大的语言支持和丰富的功能扩展上,支持语法高亮、代码自动完成、智能感知等特性,为C++编程带来了极大的便捷。在此基础上,编辑器还不断地加入了对新C++标准的支持,使得开发者可以更轻松地利用编辑器进行新标准特性的编码和调试。

weixin_42509888的博客 1293

全面掌握文件版本号的修改与管理技术

文件版本号是标识软件版本的一串数字或字符串,通常跟随版本控制标准,如“主版本号.次版本号.修订号.构建号”。它对软件的可维护性、用户升级体验以及内部版本控制至关重要。良好的版本号管理能够帮助开发者追踪开发过程、简化更新过程和管理软件发布。MFC(Microsoft Foundation Classes)框架为开发Windows应用程序提供了一个封装好的C++类库。自1992年首次发布以来,MFC就成为了许多开发人员的首选工具,尤其在桌面应用程序开发领域。MFC的主要特点和优势包括:封装性。

weixin_42527589的博客 1540

C++依赖管理工具cpp-resolver的开源解析

在现代软件开发过程中,依赖性管理是确保项目构建成功、运行高效及可持续发展的关键因素。特别是对于C++这种静态类型语言,库和组件的依赖关系需要在编译时就得到明确的解析。良好的依赖性管理策略可以提高代码的可维护性和可扩展性,同时减少编译时长和运行时错误。为了更有效地管理链接阶段的依赖性,使用专门的工具变得十分重要。这些工具可以帮助开发者检测和解析依赖关系,避免链接错误。举个例子,ldd工具可以检查运行时的共享库依赖,而readelf和nm。

weixin_35266799的博客 1073

C/C++软件版本号设置和获取,加入编译时间

获取的版本号信息类似如下格式,1.0为你要设置的版本号,后面为该版本的编译时间 1.0-V-2013-05-09T15:34:49(具体见博客:) https://blog.youkuaiyun.com/li171049/article/details/128670755

C++获取程序版本信息

通过代码获得程序资源中VS_VERSION_INFO所有信息。

国外无人机蜂群作战典型战例及发展趋势

参与袭击的无人机为简易组装的固定翼飞机,采用小排量活塞发动机和手机GPS通信模块零件,机翼为轻木加泡沫板混合结构,尾梁为铝合金方管,主要依靠胶带粘接,以上全部配件均可在商用市场买到,成本较低,可在短时间内装配完成。③战场纵深短、瞬时性强。蜂群作战的参战数量显著增加,这一方面得益于无人机技术的飞速发展使得廉价无人机可以大量生产和仿制,另一方面凭借迅速发展的投放和回收技术以及集群控制技术,使得无人机蜂群可在极短时间内实现编队饱和攻击,在快速消耗敌方高价值防空武器系统的同时,保证己方物资系统的突防概率。

renhongxia1的博客 2479

LeGO-LOAM运行kitti数据集

文章目录1. kitti-lego-loam2. 改动3. 实验结果4. evo轨迹测评 1. kitti-lego-loam 链接:kitti-lego-loam kitti-lego-loam提供了将kitti序列转化成rosbag的代码,在kittibag中. 需要注意下数据文件的存放顺序,以00序列为例: datafolder          |____results          &

Zlp19970106的博客 8703

Vector CANape的使用记录

开门见山,今天想和大家分享下CANape使用记录,分享原因是近日在分析一个客户现场软件问题时,需要用到CANape来实时的监测ECU中的变量,因为之前对CANape的认知比较浅薄,觉得标定工程师使用他就足够了,但是这次的经历让我觉得需要写点东西来记录自己学习并使用他的过程。 相信大家能够在网上找到很多关于如何使用CANape的文章,从新建Project到后面的数据的观测、保存以及回放等等。我个人也是这么学过来的,所以我不打算从那些方面着手去描述如何使用她,而是根据我的真实使用过程以及问题的抛出到如何解决来

2万+

基于点云数据的统计滤波算法改进

随着三维视觉和点云处理技术的发展,点云数据在机器人、自动驾驶、增强现实等领域得到了广泛应用。而点云数据中常常包含着各种噪声和异常点,这些噪声和异常点会影响后续的数据处理和分析任务。因此,对点云数据进行滤波处理是必不可少的一步。在点云滤波算法中,统计滤波(Statistical Filtering)是一种常见且有效的方法。它通过对点云数据进行统计分析,将噪声和异常点剔除或修复,从而得到更为准确和可靠的点云数据。本文将介绍一种改进的统计滤波算法,并提供相应的源代码实现。

QfcaLinux的博客 292

ModuleNotFoundError: No module named‘langchain.schema.output parserlangchain.schema is not a package

电脑里现有的langchain库版本与import所需的不同,卸载原有langchain,重新下载最新的langchain。在步骤1后,若仍不可运行。在确保已重新下载新langchain后,重启python后,可正常运行。在版本号中填入所需的langchain版本号,可在requirements.txt查看。运行如下代码时,出现error。

weixin_45751925的博客 1713

Autosar Configuration(十四)SomeIP之配置SoAd

本文主要介绍SomeIp协议栈中的SoAd在Configurator中的详细配置

king110108的专栏 2600

SAP自动化-ME51N批量创建采购申请

2、需要管理员授权RZ11脚本录制回放功能。1、仅限于正对SAP日常工作的批量处理。3、数据模板按实际需求更新。物料编码,工厂,数量。

小九啥也不会 529

2025年7月12日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案解析

2025年7月12日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案解析

伶俐角少儿编程 709

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: C++模板编程实现二维数组
下一篇: C++实现一个简洁而又强大的日志记录类
疯狂-的-蜗牛
博客等级 码龄16年 427粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值