atol, _atol_l, _wtol, _wtol_l
Převeďte řetězec na dlouhé celé číslo.
long atol(
const char *str
);
long _atol_l(
const char *str,
_locale_t locale
);
long _wtol(
const wchar_t *str
);
long _wtol_l(
const wchar_t *str,
_locale_t locale
);
Parametry
str
Řetězec, který chcete převést.locale
Použití národního prostředí.
Vrácená hodnota
Funkce vrátí long hodnotu vyrobených interpretací zadávání znaků jako číslo.Vrácená hodnota je 0 L pro atol Pokud vstupní nelze převést na hodnotu typu.
Z přetečení s velkou kladné hodnoty nedílnou atol vrátí LONG_MAX; z oblasti přetečení s velkými zápornými hodnotami nedílnou LONG_MIN je vrácena.Ve všech případech mimo rozsah errno je nastavena na ERANGE.Pokud parametr předaný je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátí 0.
Poznámky
Tyto funkce převést znakový řetězec na hodnotu Dlouhé celé číslo (atol).
Vstupní řetězec je posloupnost znaků, které lze interpretovat jako číselnou hodnotu zadaného typu.Funkce ukončí čtení vstupního řetězce prvního znaku, který nelze rozpoznat jako část čísla.Tento znak může být NULL znak ("\0" nebo "L"\0") ukončení řetězce.
str Argument atol má následující tvar:
[whitespace] [sign] [digits]]
A whitespace tvoří mezera nebo tabulátor znaky, které jsou ignorovány; signje buď plus (+) nebo mínus (-); a digits jeden nebo více číslic.
_wtolje shodné s atol s výjimkou, že bere řetězec znaků.
Verze těchto funkcí se _l přípony jsou shodné s výjimkou, že používají národní prostředí parametr předaný namísto aktuální národní prostředí.Další informace naleznete v tématu Národní prostředí.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tstol |
atol |
atol |
_wtol |
_ttol |
atol |
atol |
_wtol |
Požadavky
Rutiny |
Požadované záhlaví |
---|---|
atol |
<stdlib.h> |
_atol_l, _wtol, _wtol_l |
<stdlib.h> a <wchar.h> |
Příklad
Tento program zobrazuje, jak lze převést čísla uložená jako řetězce na číselné hodnoty pomocí atol funkce.
// crt_atol.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the atol functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main( void )
{
char *str = NULL;
long value = 0;
// An example of the atol function
// with leading and trailing white spaces.
str = " -2309 ";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
// Another example of the atol function
// with an arbitrary decimal point.
str = "314127.64";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
// Another example of the atol function
// with an overflow condition occurring.
str = "3336402735171707160320";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
if (errno == ERANGE)
{
printf("Overflow condition occurred.\n");
}
}