ft_substr - gabrielcoelhodacunha-old/42sp-libft GitHub Wiki
Description
Creates a substring of s
, starting at index start
and of maximum length len
.
Implementation
char *ft_substr(char const *s, unsigned int start, size_t len)
{
size_t s_len;
size_t size;
char *sub;
if (!s)
return (NULL);
s_len = ft_strlen(s);
if (start > s_len)
return (ft_strdup(""));
// Checks if its trying to create a substring bigger than `s`
if (start + len > s_len)
len = s_len - start;
size = len + 1;
sub = (char *) malloc(size * sizeof(char));
if (!sub)
return (NULL);
ft_memcpy(sub, s + start, len);
sub[len] = '\0';
return (sub);
}