#include <stdio.h>
#include <stdlib.h>
size_t ft_strlen(const char *s)
{
size_t counter;
counter = 0;
while(s[counter] != '\0')
counter++;
return (counter);
}
char *ft_strchr(const char *s, int c)
{
while (*s != c)
{
if (*s == '\0')
return (0);
s++;
}
return ((char *)s);
}
void *ft_memcpy(void *dest, const void *src, size_t n)
{
char *pdest;
const char *psrc;
pdest = dest;
psrc = src;
if (!dest && !src)
return (0);
while (n-- > 0)
{
*pdest = *psrc;
pdest++;
psrc++;
}
return (dest);
}
char *ft_strtrim(char const *s1, char const *set)
{
size_t len;
char *p_trim;
if (!s1 || !set)
return (NULL);
while (*s1 && ft_strchr(set, *s1) != 0) //inrement until characters not found
s1++;
len = ft_strlen(s1);
printf("len: %ld\n", len);
while (len && ft_strchr(set, s1[len - 1]) != 0) //decrement len until character not found
len--;
printf("len: %ld\n", len);
p_trim = malloc(sizeof(char) * (len + 1));
if (!p_trim)
return (NULL);
ft_memcpy(p_trim, s1, len);
p_trim[len] = '\0';
printf("len: %ld\n", len);
return (p_trim);
}
int main()
{
char const *s1 = "123abc bla da lalada";
char const *set = "123abc";
char *p_trim;
p_trim = ft_strtrim(s1, set);
printf("test: %s\n", p_trim);
return 0;
}
len: 18
len: 17
len: 17
test: bla da lalad