平常我们都会遇到字符串相关的处理,其中一个比较特别的就是字符串匹配,比如,我想看看两个字符串"que2008@126.com"与"que2008"是否有匹配的地方。
这个时候用到函数strrchr和tolower就会有极大的帮助了。
strchr是获取某个字符串tolower匹配某个字符的最后一个地址。
tolower是把字符串转换为全小写
我们来看代码分析:
char *loc;//loc用来锁定匹配的字符的最后的地址
static char name[256] = "que2008@126.com";
loc = strchr(name,'@');//
if( loc != NULL )
{
*loc = '\0';//把最后一位@改为'\0',以使下面能匹配
//然后通过函数sal_strcasecmp
if(strcasecmp("que2008",name) == 0)
{
printf("match");
}
}
bool strcasecmp(const char *s1, const char *s2)
{
unsigned char c1, c2;
do {
c1 = tolower(*s1++);//tolower转换为小写
c2 = tolower(*s2++);//转换为小写
} while (c1 == c2 && c1 != 0);
return c1 - c2;
}