从源字符串中查找最后一次出现的目标字符串
2011-06-14 18:00
190 查看
字符操作的API太多,搞得每次用都要查,唉,记忆力差
今天要做一个查找这方面的功能,char *strstr(const char *s1, const char *s2)函数是可以从字符串s1中查找第一次出现字符串s2的位置,并返回这个位置的指针,好用,呵呵,
可是我还要用到在源字符串中查找最后一次出现目标字符串的位置,都没找到API用(如果有的话告诉我哈),我就按strstr()函数的原型写了下面这个函数,达到了找最后一次出现的位置.
//功能:从字符串s1中查找最后一次出现字符串s2的位置,并返回这个位置的指针
char *strFindLast(const char *s1, const char *s2)
{
int n;
int len1 = strlen(s1);
int len2 = strlen(s2);
s1 = s1+len1-len2;//(len1-1)-(len2-1)
if (*s2){
while(*s1){
for (n=0; *(s1 + n) == *(s2 + n); n++){
if (!*(s2 + n + 1))
return (char *)s1;
}
s1--;
}
return NULL;
}
else return (char *)s1;
}
今天要做一个查找这方面的功能,char *strstr(const char *s1, const char *s2)函数是可以从字符串s1中查找第一次出现字符串s2的位置,并返回这个位置的指针,好用,呵呵,
可是我还要用到在源字符串中查找最后一次出现目标字符串的位置,都没找到API用(如果有的话告诉我哈),我就按strstr()函数的原型写了下面这个函数,达到了找最后一次出现的位置.
//功能:从字符串s1中查找最后一次出现字符串s2的位置,并返回这个位置的指针
char *strFindLast(const char *s1, const char *s2)
{
int n;
int len1 = strlen(s1);
int len2 = strlen(s2);
s1 = s1+len1-len2;//(len1-1)-(len2-1)
if (*s2){
while(*s1){
for (n=0; *(s1 + n) == *(s2 + n); n++){
if (!*(s2 + n + 1))
return (char *)s1;
}
s1--;
}
return NULL;
}
else return (char *)s1;
}
相关文章推荐
- C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。
- [置顶] 在字符串中查找一个特定的字符最后一次出现的位置,并返回字符所在位置。
- 在字符串中寻找目标最后一次出现的位置(python)
- 查找字符串中要查找的字符串最后一次出现的位置
- Java 实例 - 查找字符串最后一次出现的位置
- Java-基础 查找字符串最后一次出现的位置
- c/c++ strrchr函数用法 查找字符串最后一次出现的位置
- 【c语言】实现strrchr(查找该字符串最后一次出现的位置)
- [置顶] 在字符串中查找一个特定的字符最后一次出现的位置(即最右边那个)
- java查找目标字符串在原字符串中出现的次数
- Java查找指定字符串第一次或最后一次出现的位置
- Java 实例 - 查找字符串最后一次出现的位置
- C语言rindex()函数:查找字符串并返回最后一次出现的位置
- 从字符串中查找字符出现次数的方法和性能对比
- 实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1) /查找一个字符串中第一个只出现两次的字符
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- PHP strpos 查找字符串首次出现的位置
- 从字符串中查找字符出现次数
- 常量指针 给定一个字符串,在目标字符串中查找任意字符的第一个字符,返回指针
- java查找一个字符串2在字符串1中第一次出现的位置