Reference

atol(3)

convert ASCII string to long or long long integer

NAME

atol, atoll, atol_l, atoll_l – convert ASCII string to long or long long integer

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <stdlib.h>

long

atol(const char *str);

long long

atoll(const char *str);

#include <xlocale.h>

long

atol_l(const char *str, locale_t loc);

long long

atoll_l(const char *str, locale_t loc);

DESCRIPTION

The atol() function converts the initial portion of the string pointed to by str to long integer representation.

It is equivalent to:

strtol(str, (char **)NULL, 10);

The atoll() function converts the initial portion of the string pointed to by str to long long integer representation.

It is equivalent to:

strtoll(str, (char **)NULL, 10);

While the atol() and atoll() functions use the current locale, the atol_l() and atoll_l() functions may be passed locales directly. See xlocale(3) for more information.

IMPLEMENTATION NOTES

The atol(), atoll(), atol_l(), and atoll_l() functions are thread-safe and async-cancel-safe.

The FreeBSD implementations of the atol() and atoll() functions are thin wrappers around strtol() and stroll() respectively, so these functions will affect the value of errno in the same way that the strtol() and stroll() functions are able to. This behavior of atol() and atoll() is not required by ISO/IEC 9899:1990 (“ISO C90”) or ISO/IEC 9899:1999 (“ISO C99”), but it is allowed by all of ISO/IEC 9899:1990 (“ISO C90”), ISO/IEC 9899:1999 (“ISO C99”) and IEEE Std 1003.1-2001 (“POSIX.1”).

ERRORS

The functions atol() and atoll() may affect the value of errno on an error.

SEE ALSO

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

STANDARDS

The atol() function conforms to ISO/IEC 9899:1990 (“ISO C90”). The atoll() function conforms to ISO/IEC 9899:1999 (“ISO C99”).

History