Sdílet prostřednictvím


_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

Převést řetězec na nepodepsaný __int64 hodnotu.

unsigned __int64 _strtoui64(
   const char *nptr,
   char **endptr,
   int base 
);
unsigned __int64 _wcstoui64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
unsigned __int64 _strtoui64_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned __int64 _wcstoui64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametry

  • nptr
    Řetězec zakončený převést.

  • endptr
    Ukazatel na znak, který zastaví skenování.

  • base
    Číslo základní použití.

  • locale
    Použití národního prostředí.

Vrácená hodnota

_strtoui64Vrátí hodnotu zastoupeny v řetězci nptr, s výjimkou při zastupování způsobí přetečení, ve kterém případě ji vrátí _UI64_MAX._strtoui64vrátí 0, pokud lze provést bez převodu.

_UI64_MAXje definován v MEZÍCH.H.

Pokud nptr je NULL nebo base je nenulová a buď méně než 2 nebo vyšší než 36, errno je nastavena na EINVAL.

Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných návratových kódů.

Poznámky

The _strtoui64function converts nptr to an unsigned __int64._wcstoui64je verze celého znaku _strtoui64; jeho nptr je řetězec znaků wide argument.Jinak tyto funkce chovat stejně.

Obě funkce Zastavit čtení řetězec nptr jejich nelze rozpoznat jako součást čísla prvního znaku.To může být ukončujícím znakem null, nebo může být první číselný znak větší než nebo rovno base.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tcstoui64

_strtoui64

_strtoui64

_wstrtoui64

_tcstoui64_l

_strtoui64_l

_strtoui64_l

_wstrtoui64_l

Aktuální národní prostředí LC_NUMERIC kategorie nastavení určuje rozpoznávání znaku radix nptr; Další informace naleznete v tématu setlocale.Funkce bez přípony _l použít aktuální národní prostředí; _strtoui64_l a_wcstoui64_l jsou stejné jako odpovídající funkce bez _l příponu, s výjimkou, že používají místo předaný národní prostředí.Další informace naleznete v tématu Národní prostředí.

Pokud endptr není NULL, ukazatel na znak, který přestal skenování je uložen v umístění odkazuje endptr.Pokud lze provést bez převodu (nebyly nalezeny žádné platné číslice nebo byl zadán neplatný base) hodnotu nptr je uložen na adrese, na kterou odkazuje endptr.

_strtoui64 očekává nptr pro řetězec následující formulář:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

A whitespace se může skládat z místa a kartu znaky, které jsou ignorovány; digits jsou-li jeden nebo více desetinných míst.První znak, který tento formulář nevejde zastaví skenování.Pokud base je mezi 2 a 36, použita jako základní číslo.Pokud base 0 počátečních znaků odkazuje řetězec nptr jsou použity ke stanovení základu.Pokud je první znak je 0 a druhý znak "x" nebo "X", řetězec interpretován jako osmičkové číslo; jinak je interpretován jako desetinné číslo.Pokud je první znak "0" a druhý znak "x" nebo "X" řetězec interpretována jako hexadecimální číslo.Pokud je první znak ' 1' až ' 9', řetězec je interpretován jako desítkové celé číslo.Písmena "a" až "z" (nebo "A" až "Z") jsou přiřazeny hodnoty 10 až 35; pouze písmena, jejichž přiřazené hodnoty jsou menší než base jsou povoleny.

Požadavky

Rutina

Požadované záhlaví

_strtoui64

<stdlib.h>

_wcstoui64

<stdlib.h> nebo <wchar.h>

_strtoui64_l

<stdlib.h>

_wcstoui64_l

<stdlib.h> nebo <wchar.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

// crt_strtoui64.c
#include <stdio.h>

unsigned __int64 atoui64(const char *szUnsignedInt) {
   return _strtoui64(szUnsignedInt, NULL, 10);
}

int main() {
   unsigned __int64 u = atoui64("18446744073709551615");
   printf( "u = %I64u\n", u );
}
  

Viz také

Referenční dokumentace

Převod dat

Národní prostředí

localeconv

setlocale _wsetlocale

Řetězec číselné hodnoty funkce

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l