[发明专利]一种继电保护自动测试系统中字符串比较的方法和系统在审
申请号: | 201510925527.X | 申请日: | 2015-12-14 |
公开(公告)号: | CN105574108A | 公开(公告)日: | 2016-05-11 |
发明(设计)人: | 陈中;王培秀 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 江苏永衡昭辉律师事务所 32250 | 代理人: | 王斌 |
地址: | 210096*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保护 自动 测试 系统 字符串 比较 方法 | ||
1.一种继电保护自动测试系统中字符串的比较方法,其特征在于包括:
步骤一:比较两个字符串长度,长的设为主串,短的设为子串;
步骤二:在子串中取副子串,其中初始副子串为子串本身;
步骤三:判断副子串长度是否≥2,若是,转步骤四;若否,转步骤七;
步骤四:当确定副子串长度≥2时,判断在主串里面是否能查找到副子串, 若是,转步骤五;若否,转步骤八;
步骤五:当确定在主串里面能找到副子串时,将主串和子串中副子串部分设 为两个字符串相同部分;
步骤六:更新在主串中查找副子串的头位置;
步骤七:判断是否继续查找,若是,转步骤八;若否,结束查找;
步骤八:更新副子串,重复步骤二~步骤八,直到结束查找。
2.根据权利要求1所述的方法,其特征在于使用MFC类库CString类里 Mid成员函数从子串中取副子串StrTemp1:
StrTemp1=SubString->Mid(i,j)
其中,SubString表示指向子串的指针;SubString->Mid(i,j)表示取子串中从索 引为i的字符开始长度为j的字符串,子串中第一个字符索引为i=0,后面的依 次类推。
3.根据权利要求1所述的方法,其特征在于判断在主串里面是否能找到副 子串的方法是:
使用MFC类库CString类里find成员函数在主串中找副子串:
SourceBegin=Source->Find(StrTemp1,Findnext)
其中,SourceBegin表示在主串中找到副子串时的头位置,并且如果没找到 则为-1;Source表示指向主串的指针;Source->Find(StrTemp1,Findnext)表示在主 串中从索引为Findnext的字符开始找副子串StrTemp1,主串中第一个字符索引 为Findnext=0,后面的依次类推;
当返回SourceBegin值为-1时,确定没有在主串中找到副子串;以及
当返回SourceBegin值不为-1时,确定在主串中找到副子串。
4.根据权利要求1所述的方法,其特征在于通过以下方法来更新在主串中 查找副子串的头位置:用Findnext表示更新后的头位置,则
Findnext=SourceBegin+j
其中,SourceBegin表示当前在主串中找到副子串时的头位置;j表示副子串 的长度。
5.根据权利要求1所述的方法,其特征在于判断是否继续查找的方法是:
根据当前副子串更新i的位置,比较i是否小于SubArry;
当i<SubArry时,确定继续查找;
当i>=SubArry时,结束查找;
其中,i表示副子串取子串中的字符串第一个字符索引,子串第一个字符索 引为i=0,后面的依次类推;SubArry表示子串的长度。
6.根据权利要求5所述的方法,其特征在于通过以下方法来根据长度小于 2的副子串更新i的位置:
将子串中索引为i的字符转化为int类型,判断其是否小于0,当确定小于0 时:i=i+2;当确定不小于0时:i=i+1。
7.根据权利要求5所述的方法,其特征在于通过以下公式根据在主串中查 找成功的副子串更新i的位置:
i=i+j
其中,j表示在主串中查找成功的副子串的长度。
8.根据权利要求1所述的方法,其特征在于当在主串里面不能找到副子串 时,通过以下方式更新副子串:
将当前副子串的最后一个字符转化为int类型,判断其是否小于0,当确定小 于0时:j=j-2;
当确定不小于0时:j=j-1;其中,j为副子串的长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510925527.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:商业智能系统数据完成复杂运算的方法
- 下一篇:信息挖掘方法和装置