网学网为广大网友收集整理了,虚拟实验平台动态升级模块的设计与实现,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
4.3.1 比较新旧版本 [1]设计思路: 版本号格式设计为X.X.X.X,例如客户原始版本号为1.0.0.1;这里我采用的比较方法是把版本号转换为4位数字,如:版本号1.2.3.4分别提取这4个字符然后转换成整形变量,采用公式1*1000+2*100+3*10+4转换成1234,最后比较大小。 [2]相关函数说明: (1)Cstring::Find(str,”要查找的字符串”,pos),函数用于从给定的字符串中寻找并返回第一处匹配指定子字符串开始的序号, 第三个参数pos指定搜索开始的位置,这个参数可以省略(使用默认值1),如果字符串不能包含该子字符串相匹配部分,则返回-1; (2)Cstring::Mid(string,npos,n), 函数用于从字符串 string的 npos 位开始截取 n位; (3)atoi函数用于将字符串转换成整型数。 [3]下面以版本号第一位的比较为例来说明程序版本的比较方法: iOldPos1=strOldVersion.Find(“.”); iOldPos2=strOldVersion.Find(“.”,iOldPos1+1); iOldPos3=strOldVersion.Find(“.”,iOldPos2+1); //分别保存老版本号中第一、二、三个“.”字符出现的序号到iOldPos1,iOldPos2,iOldPos3; iPos1=strNewVersion.Find(“.”); iPos2=strNewVersion.Find(“.”,iPos1+1); iPos3=strNewVersion.Find(“.”,iPos2+1); //分别保存新版本号中第一、二、三个“.”字符出现的序号到iPos1,iPos2,iPos3; strOldVer1=strOldVersion.Mid(0,1); strOldVer2=strOldVersion.Mid(iOldPos1+1,1); strOldVer3=strOldVersion.Mid(iOldPos2+1,1); strOldVer4=strOldVersion.Mid(iOldPos3+1,1); //分别从版本号字符串的第0、iOldPos1+1、iOldPos2+1、iOldPos3+1位截取1个字符长度保存到strOldVer1、strOldVer2、strOldVer3、strOldVer4; strNewVer1=strNewVersion.Mid(0,1); strNewVer2=strNewVersion.Mid(iPos1+1,1); strNewVer3=strNewVersion.Mid(iPos2+1,1); strNewVer4=strNewVersion.Mid(iPos3+1,1); //分别从版本号字符串的第0、iPos1+1、iPos2+1、iPos3+1位截取1个字符长度保存到strNewVer1、strNewVer 2、strNewVer 3、strNewVer 4; Oldnum1=atoi(strOldVer1); Oldnum2=atoi(strOldVer2); Oldnum3=atoi(strOldVer3); Oldnum4=atoi(strOldVer4); //分别把4个老版本号字符转换成整形; |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |