_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

Convertit une chaîne de carractères en entier 64 bits.

__int64 _atoi64(
   const char *str 
);
__int64 _wtoi64(
   const wchar_t *str 
);
__int64 _atoi64_l(
   const char *str,
   _locale_t locale
);
__int64 _wtoi64_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 __int64 qui est produite lors de l'interprétation des caractères d'entrée comme des nombres. La valeur retournée est 0 pour _atoi64 si l'entrée ne peut pas être convertie en une valeur du même type.

Dans le cas d'un dépassement de capacité pour de grandes valeurs intégrales positives, _atoi64 retourne I64_MAX et I64_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.

Notes

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

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 _atoi64 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.

_wtoi64 équivaut à _atoi64 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 et _MBCS non définis

_MBCS défini

_UNICODE défini

_tstoi64

_atoi64

_atoi64

_wtoi64

_ttoi64

_atoi64

_atoi64

_wtoi64

Configuration requise

Routines

En-tête requis

_atoi64, _atoi64_l

<stdlib.h>

_wtoi64, _wtoi64_l

<stdlib.h> ou <wchar.h>

Exemple

Ce programme montre comment les nombres stockés sous la forme de chaines peuvent etre convertis en des valeurs numériques en utilisant les fonctions _atoi64.

// crt_atoi64.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the _atoi64 functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
    char    *str = NULL;
    __int64 value = 0;

    // An example of the _atoi64 function
    // with leading and trailing white spaces.
    str = "  -2309 ";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function 
    // with an arbitrary decimal point.
    str = "314127.64";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%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

Prise en charge de la virgule flottante

Paramètres régionaux

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l