// 比较以"."分隔十进制数字的版本号大小,相等返回0,不相等的情况如:
// "2.0.10.6" 与 "2.0.3.9"相比较的返回结果为7
// "2.0.3.9" 与 "2.0.10.6"相比较的返回结果为-7
static int VersionCompareA(const char* pszStr1, const char* pszStr2)
{
if (pszStr1 == NULL || pszStr2 == NULL)
{
return 0;
}
int nCurPos = 0, nCapPos;
const char* pszTmp1 = pszStr1;
const char* pszTmp2 = pszStr2;
char pszSec1[32], pszSec2[32];
while ((*pszTmp1 != '/0') && (*pszTmp2 != '/0') && (*pszTmp1++ == *pszTmp2++))
{
nCurPos++;
if (*pszTmp1 == '.')
{
nCapPos = nCurPos;
}
}
if (*pszTmp1 == '/0' && *pszTmp2 == '/0') // 两个字符串相等
{
return 0;
}
else // 两个