piscine-c03/ex04/ft_strstr.c

68 lines
2.7 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/24 02:23:28 by tischmid #+# #+# */
/* Updated: 2023/03/28 20:03:53 by tischmid ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strstr(char *str, char *to_find)
{
int offset;
char *orig_to_find;
orig_to_find = to_find;
while (*str)
{
offset = 0;
while (to_find[offset])
{
if (!str[offset] && to_find[offset] != str[offset])
break ;
++offset;
}
if (!to_find[offset])
return (str);
to_find = orig_to_find;
++str;
}
return (0);
}
/* ////
#include <stdio.h>
int main(void)
{
printf("<> vs <> == <%s>\n", ft_strstr("", ""));
printf("<a> vs <> == <%s>\n", ft_strstr("a", ""));
printf("<ab> vs <> == <%s>\n", ft_strstr("ab", ""));
printf("<abc> vs <> == <%s>\n", ft_strstr("abc", ""));
printf("<> vs <a> == <%s>\n", ft_strstr("", "a"));
printf("<a> vs <a> == <%s>\n", ft_strstr("a", "a"));
printf("<ab> vs <a> == <%s>\n", ft_strstr("ab", "a"));
printf("<abc> vs <a> == <%s>\n", ft_strstr("abc", "a"));
printf("<> vs <b> == <%s>\n", ft_strstr("", "b"));
printf("<a> vs <b> == <%s>\n", ft_strstr("a", "b"));
printf("<ab> vs <b> == <%s>\n", ft_strstr("ab", "b"));
printf("<abc> vs <b> == <%s>\n", ft_strstr("abc", "b"));
printf("<> vs <c> == <%s>\n", ft_strstr("", "c"));
printf("<a> vs <c> == <%s>\n", ft_strstr("a", "c"));
printf("<ab> vs <c> == <%s>\n", ft_strstr("ab", "c"));
printf("<abc> vs <c> == <%s>\n", ft_strstr("abc", "c"));
printf("<> vs <ab> == <%s>\n", ft_strstr("", "ab"));
printf("<a> vs <ab> == <%s>\n", ft_strstr("a", "ab"));
printf("<ab> vs <ab> == <%s>\n", ft_strstr("ab", "ab"));
printf("<abc> vs <ab> == <%s>\n", ft_strstr("abc", "ab"));
printf("<> vs <abc> == <%s>\n", ft_strstr("", "abc"));
printf("<a> vs <abc> == <%s>\n", ft_strstr("a", "abc"));
printf("<ab> vs <abc> == <%s>\n", ft_strstr("ab", "abc"));
printf("<abc> vs <abc> == <%s>\n", ft_strstr("abc", "abc"));
return (0);
}
*/ ////