独闷闷网

 找回密码
 立即注册
搜索
查看: 3412|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] 群主分享一个判断两个字符串是否相等的函数,非常简单巧妙,神来之笔。

[复制链接]
跳转到指定楼层
楼主
发表于 2017-7-9 10:25:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jianhong_wu 于 2017-7-9 10:26 编辑

坚鸿-深圳:
分享一个判断两个字符串是否相等的函数,非常简单巧妙,神来之笔。这个函数就是对比两个字符串是否相等,频繁应用在密码对比,字符搜索是否匹配的等项目上。这个函数主要是判断两个方面,一个是字符串长度是否一致,另一个是字符单词是否完全一致。这个函数其实很简单,但是要写出味道来,还需灵感和神来之笔,我自从写出了这段代码后,获得了队友的一致好评。代码如下,u8代表unsigned char:




源代码如下:

  1. /*
  2. *********************************************************************************************************
  3. *        函 数 名: CmpTwoString
  4. *        功能说明: 比较两个字符串是否相等
  5. *        形    参:pCu8FirstString 第一个字符串的指针         
  6. *        形    参:pCu8SecondString 第二个字符串的指针     
  7. *        形    参:u8LengthMax  最大对比的元素个数   
  8. *        返 回 值: 0  不相等。
  9. *        返 回 值: 1  相等。
  10. *********************************************************************************************************
  11. */      
  12. u8 CmpTwoString(const u8 *pCu8FirstString,const u8 *pCu8SecondString,u8 u8LengthMax)
  13. {

  14.         while(1)
  15.         {
  16.                 if(0==u8LengthMax)
  17.                 {
  18.             return 0;
  19.                 }
  20.                 u8LengthMax--;
  21.                
  22.                 if(*pCu8FirstString!= *pCu8SecondString)
  23.                 {
  24.             return 0;
  25.                 }

  26.                 if(*pCu8FirstString=='\0')  //全部匹配。
  27.                 {
  28.              return 1;        
  29.                 }         
  30.                
  31.                 pCu8FirstString++;
  32.                 pCu8SecondString++;
  33.                
  34.         }
  35. }
复制代码





乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-11-29 16:47 , Processed in 0.195978 second(s), 20 queries .

快速回复 返回顶部 返回列表