correction de split pour retour valeur de null
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
/* By: hulamy <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: hulamy <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/11/25 13:55:51 by hulamy #+# #+# */
|
/* Created: 2019/11/25 13:55:51 by hulamy #+# #+# */
|
||||||
/* Updated: 2019/11/25 13:55:54 by hulamy ### ########.fr */
|
/* Updated: 2019/12/12 21:50:32 by hulamy ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -14,6 +14,27 @@
|
|||||||
** locate character in string and return its position
|
** locate character in string and return its position
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** #include <libc.h>
|
||||||
|
**
|
||||||
|
** void *ft_memchr(const void *s, int c, size_t n);
|
||||||
|
**
|
||||||
|
** int main(void)
|
||||||
|
** {
|
||||||
|
** const char *str;
|
||||||
|
**
|
||||||
|
** char *pouet = "z";
|
||||||
|
** char *lolzer = (char *)&pouet[2];
|
||||||
|
** lolzer = "aaaaaaaaaa";
|
||||||
|
** str = ft_memchr(pouet, 'a', 50);
|
||||||
|
** if (!str)
|
||||||
|
** printf("NULL");
|
||||||
|
** else
|
||||||
|
** printf("%s\n", str);
|
||||||
|
** return (0);
|
||||||
|
** }
|
||||||
|
*/
|
||||||
|
|
||||||
#include "libft.h"
|
#include "libft.h"
|
||||||
|
|
||||||
void *ft_memchr(const void *s, int c, size_t n)
|
void *ft_memchr(const void *s, int c, size_t n)
|
||||||
|
|||||||
@@ -88,21 +88,25 @@ void *ft_free(char **array, int w)
|
|||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char **empty_s(char **empty)
|
||||||
|
{
|
||||||
|
if (!(empty = (char **)malloc(sizeof(char *) * 1)))
|
||||||
|
return (NULL);
|
||||||
|
empty[0] = NULL;
|
||||||
|
return (empty);
|
||||||
|
}
|
||||||
|
|
||||||
char **ft_split(char const *s, char c)
|
char **ft_split(char const *s, char c)
|
||||||
{
|
{
|
||||||
char **array;
|
char **array;
|
||||||
int w;
|
int w;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
w = 0;
|
if (!s)
|
||||||
// if (!s)
|
return (empty_s(NULL));
|
||||||
// {
|
if (!(array = (char **)malloc(sizeof(char *) * (count(s, c) + 1))))
|
||||||
// array = malloc(sizeof(char*));
|
|
||||||
// array[0] = 0;
|
|
||||||
// return (array);
|
|
||||||
// }
|
|
||||||
if (!s || !(array = (char **)malloc(sizeof(char *) * (count(s, c) + 1))))
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
w = 0;
|
||||||
while (*s != '\0')
|
while (*s != '\0')
|
||||||
{
|
{
|
||||||
len = 0;
|
len = 0;
|
||||||
|
|||||||
@@ -20,9 +20,7 @@ void print_ft_split(char *str, char c)
|
|||||||
|
|
||||||
printf("split : [%s] [%c] -> ", str, c);
|
printf("split : [%s] [%c] -> ", str, c);
|
||||||
tab = ft_split(str, c);
|
tab = ft_split(str, c);
|
||||||
// while (*tab != NULL) sans verifier que tab est malloc
|
while (*tab != NULL)
|
||||||
// printf("[%s]", *(tab++));
|
|
||||||
while (tab && *tab != NULL)
|
|
||||||
printf("[%s]", *(tab++));
|
printf("[%s]", *(tab++));
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user