/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strstr.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tischmid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/03/24 02:23:28 by tischmid #+# #+# */ /* Updated: 2023/03/29 00:17:36 by tischmid ### ########.fr */ /* */ /* ************************************************************************** */ int strstr_cmp(char *s1, char *s2) { while (*s1 && *s2 && *s1 == *s2) { ++s1; ++s2; } return (!*s2); } char *ft_strstr(char *str, char *to_find) { if (!*to_find) return (str); while (*str) { if (strstr_cmp(str, to_find)) return (str); ++str; } return ((void *) 0); } // 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); } */ ////