ecriture du main part2 avance a mapi

This commit is contained in:
hugodu69
2019-12-12 02:16:13 +01:00
parent dc4502f577
commit 26708b8a2a
3 changed files with 49 additions and 29 deletions

View File

@@ -104,7 +104,7 @@ char **ft_split(char const *s, char c)
{
while (s[len] != '\0' && s[len] != c)
len++;
if (w == 3 || !(array[w++] = ft_substr(s, 0, len)))
if (!(array[w++] = ft_substr(s, 0, len)))
return (ft_free(array, w));
s += len - 1;
}

View File

@@ -56,31 +56,24 @@
#include "libft.h"
static char *ft_doit(char const *s1, char const *s2, char *dest)
{
int j;
int i;
j = 0;
i = 0;
while (s1[j] != '\0')
dest[i++] = s1[j++];
j = 0;
while (s2[j] != '\0')
dest[i++] = s2[j++];
dest[i] = '\0';
return (dest);
}
char *ft_strjoin(char const *s1, char const *s2)
{
char *str;
int len;
int i;
if (!s1 || !s2)
return (NULL);
if (!(str = (char *)malloc(sizeof(char) *
(ft_strlen(s1) + ft_strlen(s2) + 1))))
len = ft_strlen(s1) + ft_strlen(s2);
if (!(str = (char *)malloc(sizeof(char) * (len + 1))))
return (NULL);
str = ft_doit(s1, s2, str);
len = 0;
i = 0;
while (s1[i] != '\0')
str[len++] = s1[i++];
i = 0;
while (s2[i] != '\0')
str[len++] = s2[i++];
str[len] = '\0';
return (str);
}

View File

@@ -2,20 +2,47 @@
#include <stdio.h>
void print_ft_itoa(int i)
{
printf("%d -> '%s'\n", i, ft_itoa(i));
}
void print_ft_split(char *str, char c)
{
char **tab;
printf("[%s] [%c] -> ", str, c);
tab = ft_split(str, c);
while (*tab != NULL)
printf("[%s]", *(tab++));
printf("\n");
}
void print_ft_strjoin(char *s1, char *s2)
{
printf("'%s' + '%s' -> '%s'\n", s1, s2, ft_strjoin(s1, s2));
}
int main()
{
printf("itoa: %s\n", ft_itoa(1338));
char **tab;
char *str;
char c;
int i;
printf("itoa:\n");
print_ft_itoa(1338);
printf("\nsplit:\n");
print_ft_split(" dfs zfe f ez f fez ", ' ');
printf("\nstrjoin:\n");
print_ft_strjoin("alpha", "bravo");
char **tab = ft_split(" er era zeraze a", ' ');
int i = 0;
while (tab[i])
{
write(1, "fg", 2);
printf("split: %s\n", tab[i++]);
}
// printf("strjoin: %s\n", ft_strjoin(1338));
// printf("strmapi: %s\n", ft_strmapi(1338));
// printf("substr: %s\n", ft_substr(1338));
// printf("strtrim: %s\n", ft_strtrim(1338));
return 0;
}