atoi(3) Library Functions Manual atoi(3)

atoi, atol, atoll - przekształcenie łańcucha znaków na liczbę całkowitą

Standardowa biblioteka C (libc, -lc)

#include <stdlib.h>
int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

atoll():

    _ISOC99_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

Funkcja atoi() przekształca początkową część łańcucha znaków wskazywanego przez nptr na int. Działa tak samo, jak


strtol(nptr, NULL, 10);

z wyjątkiem tego, że atoi() nie wykrywa błędów.

Funkcje atol() i atoll() zachowują się tak samo, jak atoi(), oprócz tego, że przekształcają początkową część przekazanego im łańcucha na — w zależności od typu zwracanego przez te funkcje — odpowiednio long oraz long long.

The converted value or 0 on error.

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
atoi(), atol(), atoll() Bezpieczeństwo wątkowe MT-bezpieczne locale

POSIX.1 leaves the return value of atoi() on error unspecified. On glibc, musl libc, and uClibc, 0 is returned on error.

C11, POSIX.1-2008.

C99, POSIX.1-2001, SVr4, 4.3BSD.

C89 and POSIX.1-1996 include the functions atoi() and atol() only.

errno is not set on error so there is no way to distinguish between 0 as an error and as the converted value. No checks for overflow or underflow are done. Only base-10 input can be converted. It is recommended to instead use the strtol() and strtoul() family of functions in new programs.

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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

31 października 2023 r. Linux man-pages 6.06