✅atoi
- Ascii string To Integer
- 문자열을 정수로 변환
- 선행 whitespace는 무시
💾함수 원형
int atoi(const char *s);
💻Parameters
💻Return value
💾함수 구현
#include "libft.h"
int ft_atoi(const char* str)
{
unsigned int i;
int neg;
i = 0;
neg = 0;
while (*str == '\t' || *str == '\n' ||
*str == '\v' || *str == '\f' || *str == '\r' ||
*str == ' ')
str++;
if (*str == '-' || *str == '+')
{
if (*str == '-')
neg++;
str++;
}
while (*str >= '0' && *str <= '9')
{
i = i * 10 + (*str - 48);
str++;
}
if (neg % 2 != 0)
i = i * -1;
return (i);
}
💾사용 예시
#include <stdio.h>
int main()
{
char* s1 = "---123";
char* s2 = "a123";
char* s3 = " 123aa";
char* s4 = "123 123";
int num1 = ft_atoi(s1);
int num2 = ft_atoi(s2);
int num3 = ft_atoi(s3);
int num4 = ft_atoi(s4);
printf("%d\n", num1);
printf("%d\n", num2);
printf("%d\n", num3);
printf("%d\n", num4);
return 0;
}