Udostępnij za pośrednictwem


_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

Konwertuj ciąg na nieoznaczoną wartość __int64.

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
    Ciąg zakończony zerem do przekonwertowania.

  • endptr
    Wskaźnik znaku zatrzymującego skanowanie.

  • base
    Numer podstawowy do użycia.

  • locale
    Ustawienia regionalne do użycia.

Wartość zwracana

Funkcja _strtoui64zwraca wartość, która jest reprezentowana w ciągu nptr, z wyjątkiem przypadków, gdy ta reprezentacja spowodowałoby przepełnienie; wówczas funkcja zwraca wartość _UI64_MAX. _strtoui64zwróci wartość 0, jeśli nie można wykonać konwersji.

_UI64_MAX jest zdefiniowane w LIMITS.H.

Jeśli parametr nptr jest NULL lub parametr base jest różny od zera i albo mniejszy niż 2 albo większy niż 36, atrybut errno jest ustawiany na EINVAL.

Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz _doserrno, errno, _sys_errlist, and _sys_nerr.

Uwagi

Funkcja _strtoui64konwertuje parametr nptr na wartość unsigned __int64._wcstoui64 to wersja znaku dwubajtowego _strtoui64; jej argument nptr jest ciągiem znaku dwubajtowego.W innych przypadkach te funkcje zachowują się identycznie.

Obie funkcje przestają odczytywać ciąg nptr przy pierwszym znaku, którego nie są w stanie rozpoznać jako elementu liczby.Może to być kończący znak null lub pierwszy znak numeryczny, który jest większy lub równy base.

Rutynowe mapowania zwykłego tekstu

Procedura Tchar.h

_UNICODE & _MBCS nie zdefiniowano

_MBCS zdefiniowano

_UNICODE zdefiniowany

_tcstoui64

_strtoui64

_strtoui64

_wstrtoui64

_tcstoui64_l

_strtoui64_l

_strtoui64_l

_wstrtoui64_l

Ustawienie kategorii LC_NUMERIC bieżących ustawień regionalnych określa rozpoznawanie znaku podstawy w parametrze nptr; aby uzyskać więcej informacji, zobacz setlocale.Funkcje, które nie mają przyrostka _l używają bieżących ustawień regionalnych; _strtoui64_l i _wcstoui64_l są identyczne z odpowiednimi funkcjami, która nie mają przyrostka _l, z tą różnicą, że w zamian korzystają z przekazanych ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.

Jeśli endptr nie jest NULL, wskaźnik znaku, który zatrzymał skanowanie jest przechowywany w lokalizacji wskazywanej przez endptr.Jeśli konwersja nie może być wykonywana (nie znaleziono żadnych prawidłowych cyfr lub określono nieprawidłową podstawę), wartość nptr jest przechowywana w lokalizacji wskazywanej przez endptr.

Funkcja _strtoui64 oczekuje, że parametr nptr wskaże ciąg o następującej postaci:

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

whitespace może składać się ze znaków spacji lub tabulatora, które są ignorowane; digits to jedna lub więcej cyfr dziesiętnych.Pierwszy znak, który nie mieści się w tym formularzu zatrzymuje skanowanie.Jeśli base jest między 2 a 36, zostanie użyty jako podstawa numeru.Jeśli atrybut base ma wartość 0, początkowe znaki ciągu wskazywane przez atrybut nptr są używane do określenia podstawy.Jeśli pierwszym znakiem jest 0, a drugim znakiem nie jest ,,x" lub ,,X", ciąg jest interpretowany jako ósemkowa liczba całkowita.Jeśli pierwszym znakiem jest ,,0", a drugim znakiem jest ,,x" lub ,,X", ciąg jest interpretowany jako szesnastkowa liczba całkowita.Jeśli pierwszym znakiem jest ,,1" do ,,9", ciąg jest interpretowany jako dziesiętna liczba całkowita.Literom ,,a" do ,,z" (lub ,,A" do ,,Z") są przypisane wartości od 10 do 35; tylko litery, których przypisane wartości są mniejsze niż base są dozwolone.Pierwszy znak spoza zakresu podstawy zatrzymuje skanowanie.Na przykład, jeśli atrybut base wynosi 0 i pierwszy znak skanowany to „0”, zakłada się liczbę całkowitą w postaci ósemkowej oraz, że znak „8” lub „9” zatrzyma skanowanie.

Wymagania

Procedura

Wymagany nagłówek

_strtoui64

<stdlib.h>

_wcstoui64

<stdlib.h> lub <wchar.h>

_strtoui64_l

<stdlib.h>

_wcstoui64_l

<stdlib.h> lub <wchar.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność we Wprowadzeniu.

Przykład

// 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 );
}
  

Zobacz też

Informacje

Konwersja danych

Regionalne

localeconv

setlocale, _wsetlocale

Konwertowanie ciągów na wartości

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l