0

我有一个问题,我正在尝试执行我自己的函数 strnstr,我的函数有效,但是当我尝试将我的函数与库中的函数进行比较时,据说:函数 strnstr 的隐式声明而我有标题 <string.h > 在我的代码中,我不明白我的错误在哪里。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int     ft_strlen(const char *str)
{
    int i;

    i = 0;
    while (*str)
    {
        i++;
        str++;
    }
    return (i);
}

char    *ft_strnstr(const char *str, const char *to_find, unsigned int len)
{
    unsigned int i;
    unsigned int j;

    i = 0;
    j = 0;
    if (ft_strlen(to_find) == 0)
        return ((char *)str);
    while (str[i] != '\0' && i < len)
    {
        j = 0;
        while (str[i + j] == to_find[j])
        {
            j++;
            if (to_find[j] == '\0')
                return ((char *)str + i);
        }
        i++;
    }
    return (0);
}


int main()
{
    char test[50];

    strcpy(test, "Hey guys, you you");

    printf("%p\n", ft_strnstr(test, "you", 15));
    printf("%p\n", strnstr(test, "you", 10));
}

在此先感谢您的帮助。

4

0 回答 0