Sdílet prostřednictvím


_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

Převede řetězec na 64bitové celé číslo.

__int64 _atoi64(
   const char *str 
);
__int64 _wtoi64(
   const wchar_t *str 
);
__int64 _atoi64_l(
   const char *str,
   _locale_t locale
);
__int64 _wtoi64_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í __int64 hodnotu vyrobených interpretací zadávání znaků jako číslo.Vrácená hodnota je 0 _atoi64 Pokud vstupní nelze převést na hodnotu typu.

Z přetečení s velkou kladné hodnoty nedílnou _atoi64 vrátí I64_MAX a I64_MIN z oblasti přetečení s velkými zápornými hodnotami nedílnou.

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í parametru.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 64bitové celé číslo.

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

_wtoi64je shodné s _atoi64 s výjimkou, že bere jako parametr ř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í

Rutina Tchar.h

_UNICODE a _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tstoi64

_atoi64

_atoi64

_wtoi64

_ttoi64

_atoi64

_atoi64

_wtoi64

Požadavky

Rutiny

Požadované záhlaví

_atoi64, _atoi64_l

<stdlib.h>

_wtoi64, _wtoi64_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í _atoi64 funkcí.

// crt_atoi64.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the _atoi64 functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

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

    // An example of the _atoi64 function
    // with leading and trailing white spaces.
    str = "  -2309 ";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function 
    // with an arbitrary decimal point.
    str = "314127.64";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%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 plovoucí desetinné čárky

Národní prostředí

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l