高效率字符串比较函数
来源:互联网 发布:思维导图软件mac版 编辑:程序博客网 时间:2024/06/06 00:23
机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。int长度为机器字长。char只有一个字节,可将字符指针转化为int型,每次取出机器字长后进行比较运算。
int StrCmp(char *s, char *d, int length)
{ //增加了判断字符串是否为空
int i = 0, r = -1;
int n=sizeof(int);
for (; i < length-n+1; i+=n)
{
if ((!(s + i)) || (!(d + i)))
{
perror("StrCmp error:can not ascess\n");
return -1;
}
if (*(int *)(s + i) != *(int *)(d + i))
{//转化为整型指针,每次间访取出的数据为机器字长,是char的n倍
//两个字符相异
r = 1;
return r;
}
}
if (i == length) //字符串比较完,且完全相同
{
r = 0;
return r;
}
else for (; i < length; i++)
{//字符串长度可能不为4的倍数,即每个像素点不是32位,单独处理剩下的n-1个字符
if ((!(s + i)) || (!(d + i)))
{
perror("XImageDataCmp error:can not ascess\n");
return -1;
}
if (*(s + i) != *(d + i))
{ //两个字符相异
r = 1;
return r;
}
}
if (i == length) //字符串比较完,且完全相同
{
r = 0;
return r;
}
return r;
}
参:http://www.educity.cn/wenda/576871.html
- 高效率字符串比较函数
- 字符串比较函数
- 字符串比较函数
- delphi 字符串比较函数
- 字符串Hash函数比较
- 字符串比较函数
- c 字符串比较函数
- php字符串比较函数
- php字符串比较函数
- javascript 字符串比较函数
- php--字符串比较函数
- 字符串比较函数strcmp
- 字符串比较函数总结
- 字符串比较函数收获
- 字符串比较函数
- DIY字符串比较函数
- 字符串比较函数汇总
- 字符串比较函数
- mysql一主多从同步配置
- iOS 开发之 为UIButton添加类别方法加载网络图片
- iOS 继承 UIWindow 的密码保护功能
- 移动物体监控系统的设计与开发完整版
- IOS NSindexpath创建
- 高效率字符串比较函数
- AidlTokenType.import or android:layout_height="match_parent"
- ffmpeg源码编译
- Android 如何获取在strings里面设置的值
- 【转载】iOS静态库与动态库
- 解决fatal error: Python.h: No such file or directory
- 2016淘宝首页改版 细说淘宝首页设计变化史
- iOS 修改UIImage的尺寸
- java面向对象编程