不区分大小写的字符穿搜索函数,自己写的,效率比StrStrI要高
2009-12-25 10:33
267 查看
inline char low(char c)
{
if( c >='A' && c <= 'Z' )
{
return (c + 'a' -'A');
}
else
{
return c;
}
}
//返回首地址,outlen 为字符串的
char* stringcase(const char* src,int srclen,const char* strcharset,int charsetlen)
{
char *c = new char[charsetlen];
int i = 0;
while( (c[i++] = low(*strcharset++)) != '/0' && i < charsetlen);
char ctmp;;
int j = 0;
int k = 0;
char* sart = NULL;
char *info = (char*)src;
while ( *info != '/0' && k < srclen && j < charsetlen)
{
ctmp = low(*info++);
if(ctmp == c[j])
j++;
else
{
k +=j;
k++;
j=0;
}
if(j == charsetlen)
{
sart = (char*)src + k;
break;
}
}
return sart;
}
{
if( c >='A' && c <= 'Z' )
{
return (c + 'a' -'A');
}
else
{
return c;
}
}
//返回首地址,outlen 为字符串的
char* stringcase(const char* src,int srclen,const char* strcharset,int charsetlen)
{
char *c = new char[charsetlen];
int i = 0;
while( (c[i++] = low(*strcharset++)) != '/0' && i < charsetlen);
char ctmp;;
int j = 0;
int k = 0;
char* sart = NULL;
char *info = (char*)src;
while ( *info != '/0' && k < srclen && j < charsetlen)
{
ctmp = low(*info++);
if(ctmp == c[j])
j++;
else
{
k +=j;
k++;
j=0;
}
if(j == charsetlen)
{
sart = (char*)src + k;
break;
}
}
return sart;
}
相关文章推荐
- 写一个函数查找每个字符的个数,区分大小写,时间复杂度要求O(n)
- 写出一个函数,查找出每个字符的个数,区分大小写
- 编写函数,对标准输入进行扫描,并对“the”出现的次数进行计数。 进行比较时应区分大小写。认为一个单词有一个或多个空格字符分隔, 并且输入行在长度上不会超过100个字符,计数结果输出。
- 请编写一个函数,它在一个字符串中进行搜索,查找所有 在一个给定字符集合中出现的字符。
- PHP区分大小写:函数名和类名不区分,变量名区分
- C++ 中字符大小写转换的函数
- 华为2写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- Delphi CompareStr 这个函数可以模糊匹配,且不区分大小写
- PHP大小写:函数名和类名不区分,变量名区分
- oracle中生成包含大小写字符和数字的函数
- PHP大小写:函数名和类名不区分,变量名区分
- 用MASM32来DIY判断字符串1是否为字符串2的子串的函数演示代码(源码+exe)(应用lstrcpyn()和lstrcmp(),区分大小写)
- (尚桂谷) ORCL大小写的控制函数 ,字符控制函数,数字函数,月期函数
- 华为计算字符个数写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- Bash中自动补全时忽略大小写,Up,Down来搜索以该串字符开头的历史命令(.inputrc)
- C#不区分大小写的字符串替换(Replace)函数
- jsp实现的数据库模糊搜索(可以自己设定匹配字符个数)
- 学python(03)—— 如何使用函数实现一个随机字符串里的大小写字符互换
- 自己写的一个将各种整形列表转化为字符列表的函数
- trim()函数:仅仅改变指针指向,没有删除及移动字符,提高了效率