atol, _atol_l, _wtol, _wtol_l
Convertit une chaîne en un entier long.
long atol(
const char *str
);
long _atol_l(
const char *str,
_locale_t locale
);
long _wtol(
const wchar_t *str
);
long _wtol_l(
const wchar_t *str,
_locale_t locale
);
Paramètres
str
chaîne à convertir.locale
Paramètres régionaux à utiliser.
Valeur de retour
Chaque fonction retourne la valeur d' long produite en interprétant les caractères d'entrée comme nombre.La valeur de retour est 0L pour atol si l'entrée ne peut pas être convertie en une valeur de ce type.
Dans le cas de dépassement de capacité avec les grandes valeurs intégrales positives, atol retourne LONG_MAX; dans le cas de dépassement de capacité avec les grandes valeurs intégrales négatives, LONG_MIN est retourné.Dans tous les cas hors limites, errno est défini à ERANGE.Si le paramètre passé est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces errno défini par fonctions à EINVAL et à retourner 0.
Notes
Ces fonctions et convertissent une chaîne de caractères à une longue valeur entière (atol).
La chaîne d'entrée est une séquence de caractères qui peuvent être interprètes comme valeur numérique du type spécifié.La fonction arrête de lire la chaîne d'entrée au premier caractère qu'il ne peut pas reconnaître dans le cadre d'un nombre.Ce caractère peut être le caractère d' NULL (" » de \0'or L \ 0 ') arrêt de la chaîne.
L'argument d' str à atol a la forme suivante :
[whitespace] [sign] [digits]]
whitespace se compose d'espaces ou des tabulations, qui sont ignorés ; sign est plus (+) ou moins (-) ; et digits sont un ou plusieurs chiffres.
_wtol identique à atol mais il prend une chaîne à caractères larges.
Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles utilisent le paramètre de paramètres régionaux passé au lieu des paramètres régionaux.Pour plus d'informations, consultez Paramètres régionaux.
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tstol |
atol |
atol |
_wtol |
_ttol |
atol |
atol |
_wtol |
Configuration requise
routines |
en-tête requis |
---|---|
atol |
<stdlib.h> |
_atol_l, _wtol, _wtol_l |
<stdlib.h> et <wchar.h> |
Exemple
Ce programme montre comment les nombres stockées sous forme de chaînes peuvent être convertis aux valeurs numériques à l'aide de la fonction d' atol .
// crt_atol.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the atol functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main( void )
{
char *str = NULL;
long value = 0;
// An example of the atol function
// with leading and trailing white spaces.
str = " -2309 ";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
// Another example of the atol function
// with an arbitrary decimal point.
str = "314127.64";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
// Another example of the atol function
// with an overflow condition occurring.
str = "3336402735171707160320";
value = atol( str );
printf( "Function: atol( \"%s\" ) = %d\n", str, value );
if (errno == ERANGE)
{
printf("Overflow condition occurred.\n");
}
}
Équivalent .NET Framework
Voir aussi
Référence
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l de _atoflt