diff --git a/srcs/part2/ft_split.c b/srcs/part2/ft_split.c index 3aa0f18..8e06e23 100644 --- a/srcs/part2/ft_split.c +++ b/srcs/part2/ft_split.c @@ -6,7 +6,7 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/25 14:00:13 by hulamy #+# #+# */ -/* Updated: 2019/12/02 17:48:50 by hulamy ### ########.fr */ +/* Updated: 2019/12/03 19:07:08 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,68 +14,74 @@ ** return an array of string with each word found in str, with c as separator */ -/* -** #include -** -** size_t ft_strlen(const char *str) -** { -** size_t i; -** -** i = 0; -** while (str[i]) -** i++; -** return (i); -** } -** -** char *ft_substr(char const *s, unsigned int start, size_t len) -** { -** char *str; -** size_t i; -** -** if (!s) -** return (NULL); -** if (ft_strlen(s) < start) -** return (""); -** if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) -** return (NULL); -** i = 0; -** while (i < len && s[start]) -** str[i++] = s[start++]; -** str[i] = '\0'; -** return (str); -** } -** -** char **ft_split(char const *s, char c); -** -** int main(int ac, char **av) -** //int main(void) -** { -** char **str; -** int i; -** -** char *s; -** char c; -** -** if (ac == 3) -** { -** i = 0; -** s = av[1]; -** c = av[2][0]; -** str = ft_split(s, c); -** while (str[i]) -** printf("%s\n", str[i++]); -** } -** return (0); -** } -*/ -#include "libft.h" + #include + + size_t ft_strlen(const char *str) + { + size_t i; + + write (1, "gr\n", 3); + i = 0; + while (str[i]) + i++; + return (i); + } + + char *ft_substr(char const *s, unsigned int start, size_t len) + { + char *str; + size_t i; + + if (!s) + return (NULL); + if (ft_strlen(s) < start) + return (""); + if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) + return (NULL); + i = 0; + while (i < len && s[start]) + str[i++] = s[start++]; + str[i] = '\0'; + return (str); + } + + char **ft_split(char const *s, char c); + + //int main(int ac, char **av) + int main(void) + { + char **str; + int i; + + char *s; + char c; + + // if (ac == 3) + // { + i = 0; + // s = av[1]; + // c = av[2][0]; + s = ""; + c = 'c'; + if ((str = ft_split(s, c))) + { + while (str[i]) + printf("%s\n", str[i++]); + } + // } + return (0); + } + + +//#include "libft.h" static int ft_count_word(char const *s, char c) { int i; int words; + write (1, "gt\n", 3); i = 0; words = 0; while (s[i]) @@ -106,8 +112,10 @@ char **ft_split(char const *s, char c) int j; int len; - i = ft_count_word(s, c); - if (!s || !c || !(array = malloc(sizeof(char *) * (i + 1)))) + write (1, "gu\n", 3); + if (!s || !c || !(i = ft_count_word(s, c))) + return (NULL); + if (!(array = malloc(sizeof(char *) * (i + 1)))) return (NULL); array[i] = 0; i = -1;