ft_strtrim
Subject
FT_STRTRIM (simplified)
NAME
ft_strtrim -- trims character set from string
SYNOPSIS
char *ft_strtrim(const char *s1, const char *set);
DESCRIPTION
Allocate (with malloc(3)) and returns a copy of s1, without the characters specified in set at the beginning and the end of s1.
PARAMETERS
s1: string to trim
set: characters to trim
RETURN VALUES
ft_strtrim() returns a trimmed copy of s1; NULL if the memory allocation failed.
AUTHORIZED EXTERNAL FUNCTIONS
malloc(3)
Understandable explanation
The ft_strtrim()
function takes a string and trims it.
What does trimming mean you might ask ? Let me explain.
Trimming means removing the characters specified in the set
string from the start AND the end of the string s1
, without removing the characters from the set
that are in the middle of s1
.
If we have the string ababaaaMy name is Simonbbaaabbad
and our set is ab
, we'll get this result out of the ft_strtrim()
function : My name is Simon
.
We removed every a
and b
from the start and the end of s1
, without touching at the a in the middle of s1
.
Hints
We have to remove characters from the start AND the end of s1, so why don't we just loop over the string, advance while we have a character to remove.
And then, do the same thing from the end of the string, leaving us with a start and an end index for our trimmed string.
That's basically how I did it, and how my code works.
Commented solution
Last updated
Was this helpful?