Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konvertieren einer Zeichenfolge in einen __int64-Wert ohne Vorzeichen.
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
);
Parameter
nptr
Klicken Sie auf NULL endende Zeichenfolge zu konvertieren.endptr
Zeiger auf Zeichen, das die Überprüfung beendet.base
Der zu verwendende Basis.locale
Der zu verwendende Gebietsschema.
Rückgabewert
_strtoui64gibt den Wert zurück, der in der Zeichenfolge dargestellt werden, es sei denn, nptrdie Darstellung als einem Überlauf führen würde. In diesem Fall wird sie _UI64_MAXzurückgibt._strtoui64gibt 0 zurück, wenn keine Konvertierung ausgeführt werden kann.
_UI64_MAX wird in LIMITS.H. definiert.
Wenn nptrNULL ist, oder base und entweder kleiner als 2 oder größer als 36 nicht 0 ist, wird errno zu EINVALfestgelegt.
Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Rückgabecodes.
Hinweise
Die _strtoui64Funktion konvertiert nptr zu unsigned __int64._wcstoui64 ist eine Breitzeichen-Version von _strtoui64. handeln nptr-Argument ist eine Zeichenfolge mit Breitzeichen.Andernfalls verhalten sich diese Funktionen identisch.
Beenden beider Funktionen, der die Zeichenfolge nptr am ersten Zeichen gelesen, nicht als Teil einer Zahl erkennen können.Dies ist möglicherweise NULL, oder es ist möglicherweise die erste größer oder gleich basenumerische Zeichen.
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
|---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
Die aktuelle LC_NUMERICKategorieeinstellung des Gebietsschemas bestimmt Erkennung des Basis Signierung in nptr. Weitere Informationen finden Sie unter setlocale.Die Funktionen ohne das Suffix verwenden _l dem aktuellen Gebietsschema. _strtoui64_lund_wcstoui64_lsind den entsprechenden Funktionen _l ohne das Suffix identisch, mit der Ausnahme, dass sie verwenden Sie stattdessen das Gebietsschema, das übergeben wird.Weitere Informationen finden Sie unter Gebietsschema.
Wenn endptr nicht NULList, wird ein Zeiger auf das Zeichen, das die Überprüfung beendet wurde, am Speicherort gespeichert, der durch endptrdargestellt wird.Wenn keine Konvertierung ausgeführt werden kann (keine gültigen Ziffern gefunden wurden, oder eine ungültige Basis) angegeben wurde, wird der Wert von nptr am Speicherort gespeichert, der durch endptrdargestellt wird.
_strtoui64erwartet nptr , zu einer Zeichenfolge im folgenden Format zu veranschaulichen:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespacebesteht möglicherweise Leerzeichen, Tabstoppzeichen und die ignoriert werden. digitssind eine oder mehrere Dezimalstellen.Das erste Zeichen, das nicht das Formular passt, beendet die Überprüfung.Wenn base zwischen 2 und 36 liegt, wird er als Basis der Zahl verwendet.Wenn base 0 (null) ist, werden die ersten Zeichen der Zeichenfolge, die von nptr gezeigte verwendet, um die Basis zu bestimmen.Wenn das erste Zeichen 0 ist und das zweite Zeichen „x“ oder „X“ ist, wird die Zeichenfolge als oktale ganze Zahl interpretiert. Andernfalls wird sie als decimal interpretiert.Wenn das erste Zeichen „0 " festgelegt ist, und das zweite Zeichen „x“ oder „X“ ist, wird die Zeichenfolge als ganze Hexadezimalzahl interpretiert.Wenn das erste Zeichen „1 " bis „9 " ist, wird die Zeichenfolge als ganze Dezimalzahl interpretiert.Der Buchstabe“ bis „z“ (oder „A“ durch „Z ") werden die Werte 10 und 35 zugewiesen. nur alphabetische Zeichen, deren bestimmte Werte kleiner sind als base sind zulässig.
Anforderungen
Routine |
Erforderlicher Header |
|---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> oder <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> oder <wchar.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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 );
}
Siehe auch
Referenz
Zeichenfolge mit den Funktionen des numerischen Werts
strtod, _strtod_l, wcstod, _wcstod_l