diff options
| -rw-r--r-- | include/libft_str.h | 1 | ||||
| -rw-r--r-- | src/str/ft_strjoin3.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/libft_str.h b/include/libft_str.h index ad04966..ea6115d 100644 --- a/include/libft_str.h +++ b/include/libft_str.h @@ -52,6 +52,7 @@ void ft_striter(char *s, void (*f)(char *)); void ft_striteri(char *s, void (*f)(unsigned int, char *)); char *ft_substr(char const *s, unsigned int start, size_t len); char *ft_strjoin(char const *s1, char const *s2); +char *ft_strjoin3(char const *s1, char const *s2, char const *s3); char *ft_strjoinf(char const *s1, char const *s2, t_ftstrjoinf_tag tag); char *ft_strtrim(char const *s1, char const *set); char **ft_split(char const *s, char c); diff --git a/src/str/ft_strjoin3.c b/src/str/ft_strjoin3.c new file mode 100644 index 0000000..69de060 --- /dev/null +++ b/src/str/ft_strjoin3.c @@ -0,0 +1,16 @@ +#include "libft.h" + +char *ft_strjoin3(char const *s1, char const *s2, char const *s3) +{ + char *joined; + + if (s1 == NULL || s2 == NULL || s3 == NULL) + return (NULL); + if ((joined = (char*)malloc(sizeof(char) + * (ft_strlen(s1) + ft_strlen(s2) + ft_strlen(s3) + 1))) == NULL) + return (NULL); + ft_strcpy(joined, s1); + ft_strcat(joined, s2); + ft_strcat(joined, s3); + return (joined); +} |
