Partager via


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

Conversion de données

Support à virgule flottante

Paramètres régionaux

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l de _atoflt