STRTOUL |
Chaîne à naturel long |
---|---|
Langage C++ | cstdlib (stdlib.h) |
Syntaxe
unsigned long strtoul(const char *str1,char **fin,int base) |
Paramètres
Nom | Description |
---|---|
str1 | Ce paramètre permet d'indiquer la chaîne de caractères ASCIZ contenant le nombre. |
fin | Ce paramètre retourne un pointeur à la fin du nombre dans la chaîne de caractères ASCIZ. |
base | Ce paramètre permet d'indiquer la base numérique du nombre à extraire (1 à 36). |
Description
Cette fonction permet de convertir la chaîne de caractères en nombre de type non-signée «long».
Remarques
- La fonction strtoul() convertit la représentation sous le format d'une chaîne de caractères d'un nombre entreposé dans la chaîne de caractères pointée par str1 en un long non signé et renvoie le résultat. La base du nombre est déterminée par base. Si le paramètre base est zéro, la base est déterminée par des règles régissant la spécification constante. Si le base est spécifié, il doit être compris entre 2 et 36.
- La fonction strtoul() fonctionne comme suit. Tout d'abord, tout espace blanc dans la chaîne de caractères pointée par str1 est supprimé. Ensuite, chaque caractère comprenant le numéro est lu. Tout caractère ne pouvant pas faire partie d'un nombre entier long non signé entraînera l'arrêt de ce processus. Cette situation inclut les espaces blancs, la ponctuation et les caractères. Enfin, fin est défini pour pointer vers le reste, le cas échéant, de la chaîne de caractères d'origine. Cela signifie que si la fonction strtoul() est appelé avec "100 gladir", la valeur 100L sera renvoyée et fin pointera vers l'espace précédant "gladir".
- Si le résultat ne peut pas être représenté par un entier long non signé, la fonction strtoul() renvoie ULONG_MAX et la variable globale errno est définie sur ERANGE, indiquant une erreur d'intervalle. Si aucune conversion n'a lieu, zéro est renvoyé.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
- #include <iostream>
- #include <cstdlib>
-
- int main()
- {
- char *s, *sr;
- s = "0";
- std::cout << "0 = " << strtoul(s,&sr,10) << std::endl;
- s = "1";
- std::cout << "1 = " << strtoul(s,&sr,10) << std::endl;
- s = "123";
- std::cout << "123 = " << strtoul(s,&sr,10) << std::endl;
- s = "-123";
- std::cout << "-123 = " << strtoul(s,&sr,10) << std::endl;
- s = "G";
- std::cout << "G = " << strtoul(s,&sr,10) << std::endl;
- return 0;
- }
on obtiendra le résultat suivant :
0 = 01 = 1
123 = 123
-123 = 4294967173
G = 0
Voir également
Langage de programmation - C++ - Référence procédures et fonctions - atol
Langage de programmation - C++ - Référence procédures et fonctions - strtol
Langage de programmation - C - Référence procédures et fonctions - strtoul
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 735.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 270.
Dernière mise à jour : Lundi, le 3 août 2015