Sdílet prostřednictvím


atoi, _atoi_l, _wtoi, _wtoi_l

Převeďte řetězec na celé číslo.

int atoi(
   const char *str 
);
int _wtoi(
   const wchar_t *str 
);
int _atoi_l(
   const char *str,
   _locale_t locale
);
int _wtoi_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í int hodnotu vyrobených interpretací zadávání znaků jako číslo.Vrácená hodnota je 0 atoi a _wtoi, pokud vstupní nelze převést na hodnotu typu.

Z oblasti přetečení s velkými zápornými hodnotami nedílnou LONG_MIN je vrácena.atoia _wtoi vrátit INT_MAX a INT_MIN na tyto podmínky.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 celočíselnou hodnotu (atoi a _wtoi).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 znakem null ("\0" nebo "L"\0") ukončení řetězce.

str Argument atoia _wtoi 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.

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

_tstoi

atoi

atoi

_wtoi

_ttoi

atoi

atoi

_wtoi

Požadavky

Rutiny

Požadované záhlaví

atoi

<stdlib.h>

_atoi_l, _wtoi, _wtoi_l

<stdlib.h> nebo <wchar.h>

Příklad

Tento program zobrazuje, jak lze převést čísla uložená jako řetězce na číselné hodnoty pomocí atoi funkcí.

// crt_atoi.c
// This program shows how numbers 
// stored as strings can be converted to
// numeric values using the atoi functions.

#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
    char    *str = NULL;
    int     value = 0;

    // An example of the atoi function.
    str = "  -2309 ";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );

    // Another example of the atoi function.
    str = "31412764";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );

    // Another example of the atoi function 
    // with an overflow condition occuring.
    str = "3336402735171707160320";
    value = atoi( str );
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );
    if (errno == ERANGE)
    {
       printf("Overflow condition occurred.\n");
    }
}
  

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Převod dat

Podpora s plovoucí desetinnou čárkou

Národní prostředí

_ecvt

_fcvt

_gcvt

setlocale _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l