diff options
Diffstat (limited to 'ft_atoi.c')
| -rw-r--r-- | ft_atoi.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ft_atoi.c b/ft_atoi.c new file mode 100644 index 0000000..2fe091a --- /dev/null +++ b/ft_atoi.c @@ -0,0 +1,26 @@ +#include "libft.h" + +int +ft_atoi (const char *nptr) +{ + int sign; + int result; + + result = 0; + sign = 1; + // Skip isspace() characters: space, \t, \n, \v, \f, \r. + while (*nptr == ' ' || (*nptr >= '\t' && *nptr <= '\r')) + nptr++; + if (*nptr == '-' || *nptr == '+') + { + if (*nptr == '-') + sign = -1; + nptr++; + } + while (*nptr >= '0' && *nptr <= '9') + { + result = result * 10 + (*nptr - '0'); + nptr++; + } + return (result * sign); +} |
