// 版本号拆分为数组

void splitToInt(string str , vector<int> *v1, char delim )
{
// 拆分
string strTmp;
strTmp = "";
int num = 0;
for (int i = 0;i< str.size();i++)
{
if (str[i] == '.')
{
num = atoi(strTmp.c_str());
v1->push_back(num);
strTmp = "";
}else
{
strTmp += str[i];
}
}
num = atoi(strTmp.c_str());
v1->push_back(num);
}

// 比较字符串版本

int compareVersion(string str1, string str2)
{
vector <int> v1;
vector <int> v2;

splitToInt(str1,&v1);
splitToInt(str2,&v2);

// 比较
int sizeV1 = v1.size();
int sizeV2 = v2.size();
//if(sizeV1>sizeV2) return 1;
//if(sizeV1<sizeV2) return -1;
int sizeV = sizeV1>sizeV2?sizeV2:sizeV1;
for( int i=0; i<sizeV; i++)
{
if(v1[i]>v2[i]) return 1;
if(v1[i]<v2[i]) return -1;
}
return 0;

}

最新文章

  1. Distributed Databases and Data Mining: Class timetable
  2. VS2015 Xamarin for iOS
  3. coreseek实战(二):windows下mysql数据源部分配置说明
  4. iOS 时间戳
  5. Mysql---DML 语句与DCL语句
  6. 如何将SQL Server 2008库导入2000中
  7. javascript一些有用但又不常用的特性
  8. [PWA] Keynote: Progressive Web Apps across all frameworks
  9. 基于Networks of Brokers的HA方案
  10. oracle 开发笔记“跨数据库查询复制”
  11. 浅谈http请求数据分析
  12. mysql 触发器学习
  13. .Net Core下 Redis的String Hash List Set和Sorted Set的例子
  14. Template基础
  15. Android之使用参数改变ProgressDialog的位置、大小、背景透明度、屏幕透明度
  16. AppBoxFuture(五): 分布式文件存储-Store Everything
  17. MySQL错误码
  18. source-insight 常用操作
  19. 初学Python——集合及其运算
  20. C#概念总结(一)

热门文章

  1. SQL server2008安装与管理
  2. Java中有多个异常, 如何确定捕获顺序(多个catch),先从上到下执行,判断异常的大小,如果包含捕到异常,就进入这个catch,后面的就不再执行
  3. 《剑指offer》第五十六题(数组中唯一只出现一次的数字)
  4. 《剑指offer》第五十五题(平衡二叉树)
  5. 加速cin的技巧
  6. 日常英语---二、注册google的api的key
  7. C# 连接PDA扫码枪
  8. 数据结构(C语言版)-第1章 绪论
  9. English trip V1 - 19.Where Am I? 我在哪里?Teacher:Patrick Key:Ask for and directions
  10. 分享WCF文件传输---WCFFileTransfer