Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

atol, _atol_l, _wtol, _wtol_l

Convertit un entier long en chaîne.

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
);

str

Chaîne à convertir.

locale

Paramètres régionaux à utiliser.

Chaque fonction retourne la valeur long qui est produite lors de l'interprétation des caractères d'entrée comme des nombres. La valeur de retour de atol est 0 si l'entrée ne peut pas être convertie en une valeur de ce type.

Dans le cas d'un dépassement de capacité pour de grandes valeurs intégrales positives, atol retourne LONG_MAX et LONG_MIN dans le cas d'un dépassement de capacité à de grandes valeurs intégrales négatives. Dans tous les cas hors limites, errno a la valeur ERANGE. Si le paramètre qui est passé est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions définissent errno avec la valeur EINVAL et retournent 0.

Ces fonctions convertissent une chaîne de caractères en une valeur entière atol.

La chaîne d'entrée est une séquence de caractères qui peuvent être interprétés comme une valeur numérique du type spécifié. La fonction cesse de lire la chaîne au premier caractère qu'elle ne peut pas reconnaître comme faisant partie d'un nombre. Ce caractère peut être le caractère NULL ('\0' ou L'\0') qui termine la chaîne.

L'argument str de atol a la forme suivante :

[whitespace] [sign] [digits]]

Un whitespace se compose d'espaces ou de caractères de tabulation, qui sont ignorés ; un sign est soit plus (+) soit moins (–) ; et les digits se composent d'un ou de plusieurs chiffres.

_wtol équivaut à atol mais prend comme paramètre une chaîne à caractères larges.

Les versions de ces fonctions avec le suffixe _l sont identiques, sauf qu'elles utilisent les paramètres régionaux passés au lieu des paramètres régionaux actuels. Pour plus d'informations, consultez Paramètres régionaux.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tstol

atol

atol

_wtol

_ttol

atol

atol

_wtol

Routines

En-tête requis

atol

<stdlib.h>

_atol_l, _wtol, _wtol_l

<stdlib.h> et <wchar.h>

Ce programme montre comment les nombres stockés sous la forme de chaînes peuvent etre convertis en des valeurs numériques en utilisant la fonction 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");
    }
}
Fonction: atol( "  -2309 " ) = -2309
Fonction: atol( "314127.64" ) = 314127
Fonction: atol( "3336402735171707160320" ) = 2147483647
Un cas de dépassement de capacité s'est produit.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft