std::strtoimax, std::strtoumax – cppreference.com
Aus cppreference.com
<metanoindex/>
<tbody> </tbody>
| definiert in Header <cinttypes> |
||
|
|
(seit C++11) | |
|
|
(seit C++11) | |
Legt einen Integer-Wert in einem Byte String, auf den nptr .
Original:
Interprets an integer value in a byte string pointed to by nptr.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Function discards any whitespace characters until first non-whitespace character is found. Then it takes as many characters as possible to form a valid base-n (where n=base) integer number representation and converts them to an integer value. The valid integer value consists of the following parts:
- (optional) plus or minus sign
- (optional) prefix (
0) indicating octal base (applies only when the base is8) - (optional) prefix (
0xor0X) indicating hexadecimal base (applies only when the base is16) - a sequence of digits
The set of valid digits for base-2 integer is 01, for base-3 integer is 012, and so on. For bases larger than 10, valid digits include alphabetic characters, starting from Aa for base-11 integer, to Zz for base-36 integer. The case of the characters is ignored.
Die Funktionen setzt den Zeiger auf die durch endptr auf das Zeichen nach dem letzten Zeichen interpretiert zeigen. Wenn endptr NULL ist, wird es ignoriert .
Original:
The functions sets the pointer pointed to by endptr to point to the character past the last character interpreted. If endptr is NULL, it is ignored.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Wenn die nptr ist leer oder nicht die erwartete Form, wird keine Konvertierung durchgeführt, und (wenn enptr nicht NULL) der Wert nptr im Objekt, auf das endptr gespeichert .
Original:
If the nptr is empty or does not have the expected form, no conversion is performed, and (if enptr is not NULL) the value of nptr is stored in the object pointed to by endptr.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Parameter
| nptr | - | Zeiger auf die null-terminierte Byte-String interpretiert werden Original: pointer to the null-terminated byte string to be interpreted The text has been machine-translated via Google Translate. |
| endptr | - | Zeiger auf einen Zeiger auf ein Zeichen . Original: pointer to a pointer to character. The text has been machine-translated via Google Translate. |
| base | - | Base der interpretierten Integer-Wert Original: base of the interpreted integer value The text has been machine-translated via Google Translate. |
Rückgabewert
Wenn dies gelingt, ist ein ganzzahliger Wert entsprechend dem Inhalt des
strzurückgegeben .Original:
If successful, an integer value corresponding to the contents of
stris returned.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.Wenn der umgewandelte Wert fällt außerhalb der Reichweite des zugehörigen Rückgabetyp, tritt ein Fehler Bereich (Einstellung errno um ERANGE) und INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX oder
0zurückgegeben wird, entspricht .Original:
If the converted value falls out of range of corresponding return type, a range error occurs (setting errno to ERANGE) and INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX or
0is returned, as appropriate.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.Wenn keine Umwandlung durchgeführt werden kann, wird zurückgegeben
0.Original:
If no conversion can be performed,
0is returned.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Beispiel
#include <iostream> #include <string> #include <cinttypes> int main() { std::string str = "helloworld"; std::intmax_t val = std::strtoimax(str.c_str(), nullptr, 36); std::cout << str << " in base 36 is " << val << " in base 10\n"; char* nptr; val = std::strtoimax(str.c_str(), &nptr, 30); if(nptr != &str[0] + str.size()) std::cout << str << " in base 30 is invalid." << " The first invalid digit is " << *nptr << '\n'; }
Output:
helloworld in base 36 is 1767707668033969 in base 10 helloworld in base 30 is invalid. The first invalid digit is w
Siehe auch
(C++11) |
wandelt eine breite Zeichenfolge std::intmax_t oder std::uintmax_t Original: converts a wide string to std::intmax_t or std::uintmax_t The text has been machine-translated via Google Translate. (Funktion) [edit] |
wandelt ein Byte-String in einen ganzzahligen Wert Original: converts a byte string to an integer value The text has been machine-translated via Google Translate. (Funktion) [edit] | |
wandelt ein Byte-String in einen vorzeichenlosen Integer-Wert Original: converts a byte string to an unsigned integer value The text has been machine-translated via Google Translate. (Funktion) [edit] | |
C documentation for strtoimax, strtoumax | |