Teilen über


strtoumax, , _strtoumax_lwcstoumax_wcstoumax_l

Konvertiert Zeichenfolgen in einen ganzzahligen Wert des größten unterstützten ganzzahligen Typs ohne Vorzeichen.

Syntax

uintmax_t strtoumax(
   const char *strSource,
   char **endptr,
   int base
);
uintmax_t _strtoumax_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
uintmax_t _wcstoumax_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

strtoumax gibt den konvertierten Wert zurück, sofern vorhanden, oder UINTMAX_MAX im Falle eines Überlaufs. strtoumax gibt 0 zurück, wenn keine Konvertierung ausgeführt werden kann. wcstoumax gibt Werte analog zu strtoumax 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_errlistund _sys_nerr.errno

Hinweise

Jede dieser Funktionen konvertiert die Eingabezeichenfolge strSource in einen ganzzahligen uintmax_t-Wert.

strtoumax 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 LC_NUMERIC-Kategorieneinstellung des Gebietsschemas bestimmt das Erkennen des Basiszeichens in strSource. Weitere Informationen finden Sie unter setlocale, _wsetlocaleverwalten. strtoumax undwcstoumax verwenden das aktuelle Gebietsschema; _strtoumax_l und_wcstoumax_l sind identisch, verwenden allerdings das übergebene Gebietsschema. 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 endptrdie 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.

Die Breitzeichenversion von strtoumax ist wcstoumax. Das dazugehörige strSource-Argument ist eine Breitzeichenfolge. Ansonsten verhalten sich diese Funktionen identisch.

Mapping generischer Textroutinen

TCHAR.H-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumax 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" ist, wird eine ganze Oktalzahl angenommen und ein "8"- oder "9"-Zeichen beendet die Überprüfung. strtoumaxlässt ein Pluszeichen () oder Minuszeichen (+-) zu. Ein führendes Minuszeichen gibt an, dass der Rückgabewert die Ergänzung des absoluten Werts der konvertierten Zeichenfolge ist.

Anforderungen

Routine Erforderlicher Header
strtoumax, , wcstoumax_strtoumax_l_wcstoumax_l <inttypes.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

Ein Beispiel hierfür finden Sie unter strtod.

Siehe auch

Datenkonvertierung
Gebietsschema
localeconv
setlocale, _wsetlocale
Zeichenfolge zu numerischen Wertfunktionen
strtod, , _strtod_lwcstod_wcstod_l
strtoimax, , _strtoimax_lwcstoimax_wcstoimax_l
strtol, , wcstol_strtol_l_wcstol_l
strtoul, , _strtoul_lwcstoul_wcstoul_l
strtoll, , _strtoll_lwcstoll_wcstoll_l
atof, , _atof_l_wtof_wtof_l