ATOI(3) Podręcznik programisty Linuksa ATOI(3)

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

#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 w wersji <= 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-Safe locale

POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD. C89 and POSIX.1-1996 zawierają tylko funkcje atoi() i atol().

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

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)

Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

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 manpages-pl-list@lists.sourceforge.net.

13 sierpnia 2020 r. GNU