我必须使用 C 语言查找字符串中子字符串的计数。
我正在使用函数 strstr
但它只会找到第一次出现的情况。
我对该算法的想法类似于在字符串中搜索而 strstr
不返回 null 并且
在每个循环中对主字符串进行子字符串化。
我的问题是如何做到这一点?
最佳答案
你可以做类似的事情
int countString(const char *haystack, const char *needle){
int count = 0;
const char *tmp = haystack;
while(tmp = strstr(tmp, needle))
{
count++;
tmp++;
}
return count;
}
也就是得到结果后,从字符串的下一个位置开始重新搜索。
strstr() 不仅可以从字符串的开头开始工作,还可以从任何位置开始工作。
关于c - 找出字符串中子串的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9052490/