/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* pf_atoi.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/02/11 07:51:09 by tmaze #+# #+# */ /* Updated: 2019/02/11 07:51:31 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ #include "libftprintf.h" int pf_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' && pf_isdigit(str[nbnum])) nbnum++; nbnum--; ret = 0; mult = 1; while (nbnum >= 0 && pf_isdigit(str[nbnum])) { ret += (str[nbnum--] - '0') * mult; mult *= 10; } if (nbnum >= 0 && str[nbnum] == '-') ret *= -1; return (ret); }