【摘要】 此篇文章,主要利用strstr函数进行字符串出现次数的计算。 因为strstr函数返回值为,字符串第一次出现位置的地址。可以利用这一特性,将指针向后移动子串长度,查找后方出现的子串。
eg:
代码
“`int my_strstr(char* str, int* count)
{
// 辅助变量
int i = 0;
char* tmp = str…
此篇文章,主要利用strstr函数进行字符串出现次数的计算。
因为strstr函数返回值为,字符串第一次出现位置的地址。可以利用这一特性,将指针向后移动子串长度,查找后方出现的子串。
eg:
代码
```int my_strstr(char* str, int* count)
{
// 辅助变量
int i = 0;
char* tmp = str;
while (tmp = strstr(tmp, "abcd"))
{
// 能进来,肯定有匹配的子串 // 重新设置查找起点
tmp = tmp + strlen("abcd");
i++; if (*tmp == 0) // 如果到结束符
{ break;
}
}
*count = i;
return 0;
}
int main(void)
{
char* str = "abcd123abcd543442abcdifa088abcdafdabcd1abcdabcdabcdabcd";
int count = 0;
int ret = 0;
ret = my_strstr(str, &count);
if (ret != 0)
{
return ret;
}
printf("\"abcd\"共出现 %d 次\n", count);
printf("\n");
return 0;
}
文章来源: blog.csdn.net,作者:哦哦呵呵,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_43717520/article/details/116724063
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END