strtoul | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
#include <stdlib.h> unsigned long int strtoul (const char *nptr, char **endptr, int base ); unsigned long long int strtoull(const char *nptr, char **endptr, int base);
Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :
strtoull() : XOPEN_SOURCE >= 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE ; ou cc -std=c99
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
La chaîne peut commencer par un nombre quelconque d'espaces ou de caractères interprétés comme tels par isspace(3). Un signe éventuel « + » ou « - » peut suivre. Si base vaut 0 ou 16, la chaîne peut inclure un préfixe « 0x » et le nombre sera interprété en base 16. Sinon, une base valant zéro est interprétée comme 10 (décimale) sauf si le caractère suivant est « 0 », auquel cas la base est 8 (octale).
Le reste de la chaîne est converti en une valeur unsigned long int, en s'arrêtant au premier caractère qui ne soit pas un chiffre valide. Dans les bases supérieures à 10, la lettre « A » (majuscule ou minuscule) représente 10, « B » représente 11, et ainsi de suite jusqu'à « Z » représentant 35.
Si endptr n'est pas NULL, strtoul() stocke l'adresse du premier caractère invalide dans *endptr. S'il n'y avait aucun chiffre valide, strtoul() stocke la valeur originale de nptr dans *endptr. (Donc, si *nptr n'est pas « \0 » et si **endptr vaut « \0 » en retour, la chaîne entière est valide.)
La fonction strtoull() travaille comme strtoul() mais renvoie une valeur unsigned long long int.
VALEUR RENVOYÉE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
ERREURS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
L'implémentation peut aussi mettre errno à EINVAL si aucune conversion n'a été réalisée (pas de chiffres trouvés, et renvoyé zéro).
CONFORMITÉ | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Dans des localisations autre que « C », d'autres chaînes peuvent être acceptées. (Par exemple, un signe séparateur de milliers peut être accepté).
BSD a aussi
u_quad_t strtouq(const char *nptr, char **endptr, int base);avec une définition exactement analogue. Suivant l'architecture, cela peut être équivalent à strtoull() ou strtoul().
Les valeurs négatives sont considérées comme des entrées valides et sont silencieusement converties en leur valeur équivalente unsigned long int.
EXEMPLE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 10 novembre 1996 et révisée le 8 janvier 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 strtoul ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |