std::strtoimax, std::strtoumax
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Déclaré dans l'en-tête <cinttypes> | ||
std::intmax_t strtoimax(constchar* nptr, char** endptr, int base); | (depuis C++11) | |
std::uintmax_t strtoumax(constchar* nptr, char** endptr, int base); | (depuis C++11) | |
nptr
.nptr
.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:
- (en option) plus or minus sign
- (en option) prefix (
0
) indicating octal base (applies only when the base is 8) - (en option) prefix (
0x
or0X
) indicating hexadecimal base (applies only when the base is 16) - 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.
endptr
pour pointer vers le caractère passé le dernier caractère interprété. Si endptr
est NULL, il est ignoré .endptr
to point to the character past the last character interpreted. If endptr
is NULL, it is ignored.You can help to correct and verify the translation. Click here for instructions.
nptr
est vide ou n'a pas la forme attendue, aucune conversion n'est effectuée, et (si enptr
n'est pas NULL) la valeur de nptr
est stockée dans l'objet pointé par endptr
.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
.You can help to correct and verify the translation. Click here for instructions.
Sommaire |
[modifier]Paramètres
nptr | - | pointeur vers la chaîne d'octets terminée par NULL doit être interprété Original: pointer to the null-terminated byte string to be interpreted The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
endptr | - | pointeur vers un pointeur sur caractère . Original: pointer to a pointer to character. The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
base | - | Base de la valeur entière interprété Original: base of the interpreted integer value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifier]Retourne la valeur
- En cas de succès, une valeur entière correspondant au contenu de
str
est retourné .Original:If successful, an integer value corresponding to the contents ofstr
is returned.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Si la valeur convertie tombe hors de la plage de type de retour correspondante, une erreur d'intervalle se produit ([[cpp/error/errno|errno]] réglage de ERANGE) et INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX ou 0 est renvoyée, le cas échéant .Original:If the converted value falls out of range of corresponding return type, a range error occurs (setting [[cpp/error/errno|errno]] to ERANGE) and INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX or 0 is 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. - Si aucune conversion peut être effectuée, 0 est retourné .Original:If no conversion can be performed, 0 is returned.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[modifier]Exemple
#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';}
Résultat :
helloworld in base 36 is 1767707668033969 in base 10 helloworld in base 30 is invalid. The first invalid digit is w
[modifier]Voir aussi
(C++11) (C++11) | convertit une chaîne large de std::intmax_t ou 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. You can help to correct and verify the translation. Click here for instructions. (fonction) |
convertit une chaîne d'octets en une valeur entière Original: converts a byte string to an integer value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) | |
convertit une chaîne d'octets à une valeur d'entier non signé Original: converts a byte string to an unsigned integer value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) | |
C documentation for strtoimax, strtoumax |