php 版本比较函数,比较软件的版本号函数

比较软件的版本号函数,版本号的形式为3..0.2.1 支持无限位。

/*++

Routine Description:

1.比较版本号, 递归实现

History:

13-November-2007 13:42 - 刘峻聪 - Create

--*/

BOOL CUpdateFun::IsNewVersion(CString strOldVersion, CString strNewVersion)

{

if (strOldVersion == _T("") && strNewVersion == _T(""))

{

return FALSE; // 相等,不是新版本

}

int oldVer = 0; // 取旧版本的第一个版本位

int newVer = 0; // 取新版本的第一个版本位

int posOldVer = 0;    // 位标,用于旧版本

int posNewVer = 0;    // 位标,用于新版本

posOldVer = strOldVersion.Find(_T("."), 0);

oldVer = posOldVer<0 ? atoi(strOldVersion) : atoi(strOldVersion.Left(posOldVer));

posNewVer = strNewVersion.Find(_T("."), 0);

newVer = posNewVer<0 ? atoi(strNewVersion) : atoi(strNewVersion.Left(posNewVer));

if (oldVer < newVer)

{

return TRUE;

}

else if (oldVer == newVer)

{

CString strOldVersion1 = _T(""); // 旧版本

CString strNewVersion1 = _T(""); // 新版本

if (posOldVer > -1)

{

strOldVersion1 = strOldVersion.Right(strOldVersion.GetLength()-posOldVer-1);

}

if (posNewVer > -1)

{

strNewVersion1 = strNewVersion.Right(strNewVersion.GetLength()-posNewVer-1);

}

return IsNewVersion(strOldVersion1, strNewVersion1);

}

return FALSE;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值