strtoull
, _strtoull_l
, wcstoull
, _wcstoull_l
Konvertiert Zeichenfolgen in einen unsigned long long
ganzzahligen Wert.
Syntax
unsigned long long strtoull(
const char *strSource,
char **endptr,
int base
);
unsigned long long _strtoull_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
unsigned long long wcstoull(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
unsigned long long _wcstoull_l(
const wchar_t *strSource,
wchar_t **endptr,
int base,
_locale_t locale
);
Parameter
strSource
Zu konvertierende mit NULL endende Zeichenfolge.
endptr
Zeiger auf das Zeichen, das die Überprüfung stoppt.
base
Zu verwendende Zahlenbasis.
locale
Zu verwendendes Gebietsschema.
Rückgabewert
strtoull
gibt den konvertierten Wert zurück, sofern vorhanden, oder ULLONG_MAX
im Falle eines Überlaufs. strtoull
gibt 0 zurück, wenn keine Konvertierung ausgeführt werden kann. wcstoull
gibt Werte analog zu strtoull
zurück. Für beide Funktionen wird errno
auf ERANGE
festgelegt, wenn ein Überlauf oder Unterlauf auftritt.
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Jede dieser Funktionen konvertiert die Eingabezeichenfolge strSource
in einen unsigned long long
ganzzahligen Wert.
strtoull
beendet das Lesen der Zeichenfolge strSource
am ersten Zeichen, das nicht als Teil einer Zahl erkannt werden kann. Es kann sich um das endende Nullzeichen oder um das erste numerische Zeichen, das größer oder gleich ist base
, sein. Die Einstellung der LC_NUMERIC
Kategorie des Gebietsschemas bestimmt die Erkennung des Radixzeichens in strSource
; weitere Informationen finden Sie unter setlocale
, _wsetlocale
. strtoull
und wcstoull
verwenden das aktuelle Gebietsschema; _strtoull_l
und _wcstoull_l
verwenden das übergebene Gebietsschema, das aber sonst identisch ist. Weitere Informationen finden Sie unter Locale.
Wenn endptr
nicht NULL
, wird ein Zeiger auf das Zeichen, das den Scan beendet hat, an der Stelle gespeichert, auf endptr
die verwiesen wird. Wenn keine Konvertierung ausgeführt werden kann (keine gültigen Ziffern gefunden oder ungültige Basis angegeben), wird der Wert von strSource
an dem Speicherort gespeichert, auf den von endptr
gezeigt wird.
wcstoull
ist eine Breitzeichen-Version von strtoull
und dessen strSource
-Argument ist eine Breitzeichenfolge. Ansonsten verhalten sich diese Funktionen identisch.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Generische Textroutinzuordnungen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS Definiert |
_UNICODE Definiert |
---|---|---|---|
_tcstoull |
strtoull |
strtoull |
wcstoull |
_tcstoull_l |
strtoull_l |
_strtoull_l |
_wcstoull_l |
strtoull
erwartet, dass strSource
auf eine Zeichenfolge der folgenden Form zeigt:
[
whitespace
] [{+
|-
}] [0
[{x
|X
}]] [digits
|letters
]
Ein whitespace
Kann aus Leerzeichen und Tabstoppzeichen bestehen, die ignoriert werden. digits
sind eine oder mehrere Dezimalziffern. letters
sind eine oder mehrere der Buchstaben "a" durch "z" (oder "A" bis "Z"). Das erste Zeichen, das nicht in dieses Formular passt, beendet den Scan. Wenn base
sie zwischen 2 und 36 liegt, wird sie als Basis der Zahl verwendet. Wenn base
0 ist, werden die ersten Zeichen der Zeichenfolge verwendet, auf die von strSource
gezeigt wird, um die Basis festzulegen. Wenn das erste Zeichen "0" ist und das zweite Zeichen nicht "x" oder "X" ist, wird die Zeichenfolge als oktale ganze Zahl interpretiert. Wenn das erste Zeichen "0" und das zweite Zeichen nicht "x" oder "X" ist, wird die Zeichenfolge als hexadezimale ganze Zahl interpretiert. Wenn das erste Zeichen "1" bis "9 " ist, wird die Zeichenfolge als ganze Dezimalzahl interpretiert. Die Buchstaben "a" bis "z" (bzw. "A" bis "Z") werden den Werten 10 bis 35 zugewiesen. Nur Buchstaben, deren zugewiesene Werte kleiner als base
sind, sind zulässig. Das erste Zeichen außerhalb des Bereichs der Basis beendet die Überprüfung. Wenn beispielsweise base
0 und das erste überprüfte Zeichen "0 " sind, wird eine ganze Oktalzahl angenommen und ein "8"- oder "9"- Zeichen beendet die Überprüfung. strtoull
lässt ein Pluszeichen (+
) oder ein Minuszeichen (-
) als Präfix zu. Ein führendes Minuszeichen gibt an, dass der Rückgabewert invertiert wird.
Anforderungen
Routine | Erforderlicher Header |
---|---|
strtoull |
<stdlib.h> |
wcstoull |
<stdlib.h> oder <wchar.h> |
_strtoull_l |
<stdlib.h> |
_wcstoull_l |
<stdlib.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Sehen Sie sich das Beispiel für strtod
.
Siehe auch
Datenkonvertierung
Gebietsschema
localeconv
setlocale
, _wsetlocale
Zeichenfolge zu numerischen Wertfunktionen
strtod
, _strtod_l
, wcstod
, _wcstod_l
strtol
, wcstol
, _strtol_l
, _wcstol_l
strtoul
, _strtoul_l
, wcstoul
, _wcstoul_l
strtoll
, _strtoll_l
, wcstoll
, _wcstoll_l
atof
, _atof_l
, _wtof
, _wtof_l
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für