在C中搜索字符串中的字符串

时间:2013-02-23 19:57:02

标签: c

我需要以字符串的形式搜索随机字符列表,以便出现某个字符串。此函数用于返回指向搜索列表中最后一个字符后面的字符的指针。在我的main函数中,我需要循环函数并返回随机列表中搜索字符串出现次数。

这是我迄今为止的功能。

char *findStringInData(char *data, char *string){
    int x, i;
    int m = 0, n = 0;
    char *follower;
    char *temp;
    for (x = 0; data[x] != '\0'; x++){
        if (data[x]== string[x]){
            temp = &data[x];
            //m++;
        }
            for(i = data[x]; string[i] != '\0'; i++){
            if (data[i] == string[i])
            follower = &temp[i];
            //n++;
            //printf("the count is %d\n", n);
        }
    }
    return follower;

   return NULL; 
}

1 个答案:

答案 0 :(得分:2)

请不要重新实现标准库,为此目的使用strstr()。

根据您输入的数据和您要搜索的字符串,您还可以考虑使用专门的字符串搜索方法,例如Boyer-Moore(请参阅Boyer Moore Algorithm Implementation?