/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strstr.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tischmid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* 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 int main(void) { printf("<> vs <> == <%s>\n", ft_strstr("", "")); printf(" vs <> == <%s>\n", ft_strstr("a", "")); printf(" vs <> == <%s>\n", ft_strstr("ab", "")); printf(" vs <> == <%s>\n", ft_strstr("abc", "")); printf("<> vs == <%s>\n", ft_strstr("", "a")); printf(" vs == <%s>\n", ft_strstr("a", "a")); printf(" vs == <%s>\n", ft_strstr("ab", "a")); printf(" vs == <%s>\n", ft_strstr("abc", "a")); printf("<> vs == <%s>\n", ft_strstr("", "b")); printf(" vs == <%s>\n", ft_strstr("a", "b")); printf(" vs == <%s>\n", ft_strstr("ab", "b")); printf(" vs == <%s>\n", ft_strstr("abc", "b")); printf("<> vs == <%s>\n", ft_strstr("", "c")); printf(" vs == <%s>\n", ft_strstr("a", "c")); printf(" vs == <%s>\n", ft_strstr("ab", "c")); printf(" vs == <%s>\n", ft_strstr("abc", "c")); printf("<> vs == <%s>\n", ft_strstr("", "ab")); printf(" vs == <%s>\n", ft_strstr("a", "ab")); printf(" vs == <%s>\n", ft_strstr("ab", "ab")); printf(" vs == <%s>\n", ft_strstr("abc", "ab")); printf("<> vs == <%s>\n", ft_strstr("", "abc")); printf(" vs == <%s>\n", ft_strstr("a", "abc")); printf(" vs == <%s>\n", ft_strstr("ab", "abc")); printf(" vs == <%s>\n", ft_strstr("abc", "abc")); return (0); } */ ////