diff options
Diffstat (limited to 'libft')
-rw-r--r-- | libft/Makefile | 2 | ||||
-rw-r--r-- | libft/include/libft.h | 2 | ||||
-rw-r--r-- | libft/src/ft_itoa.c | 3 | ||||
-rw-r--r-- | libft/src/ft_itoa_s.c | 37 | ||||
-rw-r--r-- | libft/src/ft_uitoa.c | 3 | ||||
-rw-r--r-- | libft/src/ft_uitoa_s.c | 32 |
6 files changed, 75 insertions, 4 deletions
diff --git a/libft/Makefile b/libft/Makefile index 3c11199..1c90f66 100644 --- a/libft/Makefile +++ b/libft/Makefile @@ -52,8 +52,10 @@ SRCS_NAME += ft_strjoin.c SRCS_NAME += ft_strtrim.c SRCS_NAME += ft_split.c SRCS_NAME += ft_itoa.c +SRCS_NAME += ft_itoa_s.c SRCS_NAME += ft_itoa_base.c SRCS_NAME += ft_uitoa.c +SRCS_NAME += ft_uitoa_s.c SRCS_NAME += ft_uitoa_base.c SRCS_NAME += ft_strmapi.c SRCS_NAME += ft_putchar_fd.c diff --git a/libft/include/libft.h b/libft/include/libft.h index c31482c..edd04d4 100644 --- a/libft/include/libft.h +++ b/libft/include/libft.h @@ -90,6 +90,8 @@ void ft_putnbr(long nb); void ft_putnbr_base(long nb, char *base); void ft_memdel(void **ptr); void ft_delwords(char **words); +void ft_itoa_s(char str[], long n); +void ft_uitoa_s(char str[], unsigned long n); void *ft_memset(void *b, int c, size_t len); void *ft_memcpy(void *dst, const void *src, size_t n); void *ft_memccpy(void *dst, const void *src, diff --git a/libft/src/ft_itoa.c b/libft/src/ft_itoa.c index e10fbab..255d0a8 100644 --- a/libft/src/ft_itoa.c +++ b/libft/src/ft_itoa.c @@ -14,8 +14,7 @@ #include <inttypes.h> #include <stdlib.h> -char - *ft_itoa(long n) +char *ft_itoa(long n) { char *s; long nb; diff --git a/libft/src/ft_itoa_s.c b/libft/src/ft_itoa_s.c new file mode 100644 index 0000000..68b6ae3 --- /dev/null +++ b/libft/src/ft_itoa_s.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_itoa_s.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:06:40 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:06:40 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <inttypes.h> + +void ft_itoa_s(char str[], long n) +{ + long nb; + uint8_t i; + + i = ft_intlen(n) - 1; + if (!n) + str[i] = '0'; + nb = n; + if (n < 0) + { + str[0] = '-'; + nb = -n; + } + str[i + 1] = '\0'; + while (nb > 0) + { + str[i] = 48 + (nb % 10); + nb = nb / 10; + i--; + } +} diff --git a/libft/src/ft_uitoa.c b/libft/src/ft_uitoa.c index f1a5fa2..cc41d91 100644 --- a/libft/src/ft_uitoa.c +++ b/libft/src/ft_uitoa.c @@ -14,8 +14,7 @@ #include <inttypes.h> #include <stdlib.h> -char - *ft_uitoa(unsigned long n) +char *ft_uitoa(unsigned long n) { char *s; unsigned long nb; diff --git a/libft/src/ft_uitoa_s.c b/libft/src/ft_uitoa_s.c new file mode 100644 index 0000000..e030c34 --- /dev/null +++ b/libft/src/ft_uitoa_s.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_uitoa_s.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:07:18 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:07:18 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include <libft.h> +#include <inttypes.h> + +void ft_uitoa_s(char str[], unsigned long n) +{ + unsigned long nb; + uint8_t i; + + i = ft_uintlen(n) - 1; + if (!n) + str[i] = '0'; + nb = n; + str[i + 1] = '\0'; + while (nb > 0) + { + str[i] = 48 + (nb % 10); + nb = nb / 10; + i--; + } +} |