atol man page


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

atol, atoll — convert a string to a long integer


#include <stdlib.h>

long atol(const char *str);
long long atoll(const char *nptr);


The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2008 defers to the ISO C standard.

The call atol(str) shall be equivalent to:

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

The call atoll(nptr) shall be equivalent to:

strtoll(nptr, (char **)NULL, 10)

except that the handling of errors may differ. If the value cannot be represented, the behavior is undefined.

Return Value

These functions shall return the converted value if the value can be represented.


No errors are defined.

The following sections are informative.



Application Usage

The atol() function is subsumed by strtol() but is retained because it is used extensively in existing code. If the number is not known to be in range, strtol() should be used because atol() is not required to perform any error checking.



Future Directions


See Also


The Base Definitions volume of POSIX.1-2008, <stdlib.h>

Referenced By


2013 IEEE/The Open Group POSIX Programmer's Manual