atoi(3) Library Functions Manual atoi(3)

atoi, atol, atoll - przekształca łańcuch 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.

Zwracany jest wynik przekształcenia lub 0 w razie wystąpienia błędu.

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 pozostawia wartość zwracaną z atoi() w przypadku błędu nieokreśloną. W glibc, musl libc i uClibc, przy błędzie zwracane jest 0.

C11, POSIX.1-2008.

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

C89 and POSIX.1-1996 zawierają tylko funkcje atoi() i atol().

errno nie jest ustawiana w przypadku błędu, dlatego nie da się rozróżnić 0 jako błędu i jako wyniku przekształcenia. Nie są dokonywane sprawdzenia pod kątem przepełnienia lub niedomiaru. Konwersji podlega tylko wejście w systemie dziesiętnym. W nowych programach, zaleca się w zamian korzystać z rodziny funkcji strtol() i strtoul().

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.

2 maja 2024 r. Linux man-pages 6.8