atol(3)

atol3

Convert ascii string to long or long long integer

Usage

#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);

Library

Standard C Library (libc, -lc)

Overview

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.

Releases

163 releases since Mac OS X 10.0; the text changed 4 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.4.11
  4. 10.5–10.6.8
  5. 10.7–26.5

Standards

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

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.