atoi(3)

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

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#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

OPIS
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.

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

ATRYBUTY
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

WERSJE
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.

STANDARDY
C11, POSIX.1-2008.

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

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

USTERKI
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().

ZOBACZ TAKŻE
atof(3), strtod(3), strtol(3), strtoul(3)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.