我可以找到一个使用strstr
函数的子字符串。例如,我可以找到“Hello”子串,但我想找到“Hello”和“welcome”。不仅他们中的一个我想找到他们两个。我想要考虑“你好”和“欢迎”,就像他们是同一个词一样。如果程序可以找到世界“hello”,它将返回false,如果程序可以找到世界“welcome”,它将返回false,但如果程序可以找到单词“hello”和“welcome”,它将返回true。我怎样才能做到这一点?我怎么能找到两个子字符串
int main(){
int total=0;
char *p="Hello world welcome!";
while (strstr(p,"Hello") != NULL) {
printf("%s", p); // to know the content of p
p++;
total++;
}
printf("%i", total);
getch(); // pause
}
是如何把'的strstr '在'while'循环里应该可以帮到你吗?它会在第一次尝试中找到子字符串,否则它将不会。不需要采取进一步行动。 – usr2564301 2014-10-19 11:46:22
@Jongware我同意。唯一比周期性的'strstr'更加不寻常的是,它似乎也在张贴的答案中饲养起来。我想我们都可以在无知的土地上,但我现在很怀疑它。 – WhozCraig 2014-10-19 12:07:25
对。实际上,循环增加了搜索字符串超出开始位置的每个*字符的出现次数。例如,对于'欢迎',它将返回12. – usr2564301 2014-10-19 12:10:04