atoi, _atoi_l, _wtoi, _wtoi_l

 

Date de publication : août 2016

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Convertit une chaîne en entier.

int atoi(  
   const char *str   
);  
int _wtoi(  
   const wchar_t *str   
);  
int _atoi_l(  
   const char *str,  
   _locale_t locale  
);  
int _wtoi_l(  
   const wchar_t *str,  
   _locale_t locale  
);  

Paramètres

str
Chaîne à convertir.

locale
Paramètres régionaux à utiliser.

Chaque fonction retourne le int valeur produite en interprétant les caractères d’entrée en tant que nombre. La valeur de retour est 0 pour atoi et _wtoi, si l’entrée ne peut pas être convertie en valeur de ce type.

En cas de dépassement de capacité avec grandes valeurs intégrales négatifs, LONG_MIN est retourné. atoiet _wtoi retourner INT_MAX et INT_MIN dans ces conditions. Dans tous les cas hors limites, errno est défini sur ERANGE. Si le paramètre transmis est NULL, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l’exécution est autorisée à se poursuivre, ces fonctions définissent errno à EINVAL et retourne 0.

Ces fonctions convertissent une chaîne de caractères en une valeur entière (atoi et _wtoi). La chaîne d’entrée est une séquence de caractères qui peut être interprété comme une valeur numérique du type spécifié. La fonction arrête la lecture de la chaîne d’entrée au premier caractère qu’il ne peut pas reconnaître comme faisant partie d’un nombre. Ce peut être le caractère null ('\0' ou L '\0') termine la chaîne.

Le str l’argument de atoiet _wtoi a la forme suivante :

[whitespace] [sign] [digits]]

Un whitespace se compose de caractères espace ou tabulation, qui sont ignorés ; sign est un signe plus (+) ou moins (-) ; et digits sont un ou plusieurs chiffres.

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

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tstoiatoiatoi_wtoi
_ttoiatoiatoi_wtoi
RoutinesEn-tête requis
atoi<stdlib.h>
_atoi_l, _wtoi, _wtoi_l<stdlib.h> ou <wchar.h>

Ce programme montre comment les nombres stockés sous forme de chaînes peuvent être converties en valeurs numériques à l’aide de la atoi fonctions.

// crt_atoi.c  
// This program shows how numbers   
// stored as strings can be converted to  
// numeric values using the atoi functions.  
  
#include <stdlib.h>  
#include <stdio.h>  
#include <errno.h>  
  
int main( void )  
{  
    char    *str = NULL;  
    int     value = 0;  
  
    // An example of the atoi function.  
    str = "  -2309 ";  
    value = atoi( str );  
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );  
  
    // Another example of the atoi function.  
    str = "31412764";  
    value = atoi( str );  
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );  
  
    // Another example of the atoi function   
    // with an overflow condition occuring.  
    str = "3336402735171707160320";  
    value = atoi( str );  
    printf( "Function: atoi( \"%s\" ) = %d\n", str, value );  
    if (errno == ERANGE)  
    {  
       printf("Overflow condition occurred.\n");  
    }  
}  

Function: atoi( "  -2309 " ) = -2309  
Function: atoi( "31412764" ) = 31412764  
Function: atoi( "3336402735171707160320" ) = 2147483647  
Overflow condition occurred.  

Conversion de données
Prise en charge de virgule flottante
Paramètres régionaux
_ecvt
_fcvt
_gcvt
SetLocale, _wsetlocale
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l

Afficher: