Sdílet prostřednictvím


_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

Převeďte řetězec na hodnotu __int64 bez znaménka.

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ý null pro převod.

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

  • base
    Základna čísla pro použití.

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

Vrácená hodnota

_strtoui64vrátí hodnotu představovanou řetězcem nptr s výjimkou případů, kdy by reprezentace způsobila přetečení – v takovém případě vrátí _UI64_MAX. _strtoui64vrátí hodnotu 0, pokud převod lze provést.

_UI64_MAX je definován v LIMITS.H.

Pokud nptr je NULL nebo base je nenulový a menší než 2 nebo větší než 36, errno je nastaven na EINVAL.

Další informace o těchto a dalších návratových kódech viz _doserrno, errno, _sys_errlist, and _sys_nerr.

Poznámky

Funkce _strtoui64převede nptr na unsigned __int64._wcstoui64 je širokoznaká verze _strtoui64; její parametr nptr je širokoznaký řetězec.Jinak se tyto funkce chovají identicky.

Obě funkce zastaví čtení řetězce nptr u prvního znaku, který nebude rozpoznán jako část čísla.Může to být ukončující znak null nebo první číselný znak, který je větší než nebo se rovná base.

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tcstoui64

_strtoui64

_strtoui64

_wstrtoui64

_tcstoui64_l

_strtoui64_l

_strtoui64_l

_wstrtoui64_l

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

Pokud endptr není NULL, ukazatel znaku, který zastavil skenování, je uložen v umístění, na které ukazuje endptr.Pokud žádné převody nemohou být provedeny (nebyly nalezeny žádné platné číslice nebo byla zadána neplatná základna), hodnota nptr je uložena na adrese, na kterou odkazuje endptr.

_strtoui64 očekává, že nptr ukáže na řetězec v následujícím formátu:

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

whitespace se může skládat ze znaků mezery a tabulátoru, které jsou ignorovány; digits jsou jedna nebo více desítkových číslic.První znak, který neodpovídá tomuto formuláři, zastaví prohledávání.Pokud base je mezi 2 a 36, je použit jako základ pro číslo.Pokud je hodnota base „0“, počáteční znaky řetězce odkazované z parametru nptr slouží ke stanovení základu.Pokud je první znak 0 a druhý znak není x nebo X, řetězec je interpretován jako osmičkové číslo.Pokud je první znak 0 a druhý znak je x nebo X, řetězec je interpretován jako hexadecimální celé číslo.Pokud je první znak "1" až "9", řetězec je interpretován jako desítkové celé číslo.Písmenům "a" až "z" (nebo "A" až "Z") jsou přiřazeny hodnoty 10 až 35; jsou povolena pouze písmena, jejichž přiřazené hodnoty jsou nižší než base.První znak mimo rozsah základny zastaví skenování.Například pokud má base hodnotu 0 a první naskenovaný znak je „0“, předpokládá se osmičkové celé číslo a znaky „8“ nebo „9“ zastaví skenování.

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ě naleznete v úvodu tématu Kompatibilita.

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

Funkce řetězců na numerické hodnoty

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l