/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_atoi.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/05 13:50:22 by tmaze #+# #+# */ /* Updated: 2018/04/05 14:24:13 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" int ft_atoi(const char *str) { int nbnum; int mult; int ret; nbnum = 0; while (str[nbnum] == ' ' || str[nbnum] == '\t' || str[nbnum] == '\n'\ || str[nbnum] == '\v' || str[nbnum] == '\f' || str[nbnum] == '\r') nbnum++; if (str[nbnum] == '+' || str[nbnum] == '-') nbnum++; while (str[nbnum] != '\0' && str[nbnum] >= '0' && str[nbnum] <= '9') nbnum++; nbnum--; ret = 0; mult = 1; while (nbnum >= 0 && (str[nbnum] >= '0' && str[nbnum] <= '9')) { ret += (str[nbnum--] - '0') * mult; mult *= 10; } if (nbnum >= 0 && str[nbnum] == '-') ret *= -1; return (ret); }