我有一个问题,我正在尝试执行我自己的函数 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));
}
在此先感谢您的帮助。