NAME

atoi, atol, atoll - 문자열을 정수로 변환하기

SYNOPSIS

#include <stdlib.h>

int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);

glibc 기능 확인 매크로 요건 (feature_test_macros(7) 참고):

atoll():
_ISOC99_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

atoi() 함수는 nptr이 가리키는 문자열의 처음 부분을 int로 변환한다. 다음과 동작이 같되, atoi()에서는 오류를 감지하지 않는다.

strtol(nptr, NULL, 10);

atol()atoll() 함수는 atoi()와 동일하게 동작하되 문자열의 처음 부분을 반환 타입인 long이나 long long으로 변환한다.

RETURN VALUE

변환한 값, 또는 오류 시 0.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
atoi(), atol(), atoll() 스레드 안전성 MT-Safe locale

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD. C89와 POSIX.1-1996에는 함수 atoi()atol()만 있다.

NOTES

POSIX.1에서 오류 시 atoi()의 반환 값을 명세하지 않은 채 남겨 두었다. glibc, musl libc, uClibc에서는 오류 시 0을 반환한다.

BUGS

오류 시 errno를 설정하지 않으므로 0이 오류인지 변환된 값인지 구별할 방법이 없다. 오버플로나 언더플로 검사를 전혀 하지 않는다. 10진수 입력만 변환할 수 있다. 새 프로그램에서는 strtol()strtoul() 함수를 쓰기를 권한다.

SEE ALSO

atof(3), strtod(3), strtol(3), strtoul(3)


2021-03-22