strstr匹配c中的第一个匹配项

时间:2010-03-30 03:36:58

标签: c strstr

我想知道如果"Just"包含字符串,我如何匹配str1中的字符串str1

"this is Just/1.1.249.4021 a test" 
// "Just" will always be the same

我正在尝试使用strstr进行匹配,但到目前为止由于/...

而无法匹配

有关如何匹配的任何建议吗?感谢

3 个答案:

答案 0 :(得分:2)

这适合我 - 你呢?

#include <string.h>
#include <stdio.h>
int main(void)
{
    char haystack[] = "this is just\2323 a test";
    char needle[] = "just";
    char *loc = strstr(haystack, needle);
    if (loc == 0)
        printf("Did not find <<%s>> in <<%s>>\n", needle, haystack);
    else
        printf("Found <<%s>> in <<%s> at <<%s>>\n", needle, haystack, loc);
    return(0);
}

答案 1 :(得分:1)

使用strstr()的方式肯定有问题 以下代码工作得很好......

const char *s = "this is just\2323 a test";
char *p = strstr(s, "just");
if(p)
    printf("Found 'just' at index %d\n", (int)(p - s));

答案 2 :(得分:-1)

如果字符串实际上是“Just / 1.1.249.4021”,那么它将无法找到“just”,因为strstr区分大小写。如果您需要不区分大小写的版本,则必须为现有实现编写自己的版本或Google