_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow
Convertit un entier en chaîne. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez _itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s.
char *_itoa(
int value,
char *str,
int radix
);
char *_i64toa(
__int64 value,
char *str,
int radix
);
char * _ui64toa(
unsigned _int64 value,
char *str,
int radix
);
wchar_t * _itow(
int value,
wchar_t *str,
int radix
);
wchar_t * _i64tow(
__int64 value,
wchar_t *str,
int radix
);
wchar_t * _ui64tow(
unsigned __int64 value,
wchar_t *str,
int radix
);
template <size_t size>
char *_itoa(
int value,
char (&str)[size],
int radix
); // C++ only
template <size_t size>
char *_i64toa(
__int64 value,
char (&str)[size],
int radix
); // C++ only
template <size_t size>
char * _ui64toa(
unsigned _int64 value,
char (&str)[size],
int radix
); // C++ only
template <size_t size>
wchar_t * _itow(
int value,
wchar_t (&str)[size],
int radix
); // C++ only
template <size_t size>
wchar_t * _i64tow(
__int64 value,
wchar_t (&str)[size],
int radix
); // C++ only
template <size_t size>
wchar_t * _ui64tow(
unsigned __int64 value,
wchar_t (&str)[size],
int radix
); // C++ only
Paramètres
value
Nombre devant être converti.str
Chaîne de résultat.radix
Base de value; qui doit être comprise entre 2-36.
Valeur de retour
Chacune de ces fonctions renvoie un pointeur vers str. Aucun retour d'erreur.
Notes
Les fonctions _itoa, _i64toa, et _ui64toa convertissent les chiffres de l'argument value donné à une chaîne de caractères se terminant par null et les stocke le résultat (jusqu'à 33 caractères pour _itoa et 65 pour _i64toa et _ui64toa) dans str. Si radix est égal à 10 et value est négative, le premier caractère de la chaîne stockée est le signe moins ( – ). _itow, _i64towet _ui64tow, sont des versions à caractères larges de _itoa, _i64toa, et _ui64toa, respectivement.
Note de sécurité |
---|
Pour empêcher les dépassements de mémoire tampon, assurez-vous que la mémoire tampon de str est suffisamment grande pour contenir les chiffres convertis plus le caractère Null de fin et un caractère de signe. |
En C++, ces fonctions ont des surcharges de modèle qui appellent les équivalents plus récents et sécurisés de ces fonctions. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.
Mappages de routines de texte générique
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_itot |
_itoa |
_itoa |
_itow |
_i64tot |
_i64toa |
_i64toa |
_i64tow |
_ui64tot |
_ui64toa |
_ui64toa |
_ui64tow |
Configuration requise
Routine |
En-tête requis |
---|---|
_itoa |
<stdlib.h> |
_i64toa |
<stdlib.h> |
_ui64toa |
<stdlib.h> |
_itow |
<stdlib.h> |
_i64tow |
<stdlib.h> |
_ui64tow |
<stdlib.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
Exemple
// crt_itoa.c
// compile with: /W3
// This program makes use of the _itoa functions
// in various examples.
#include <string.h>
#include <stdlib.h>
int main( void )
{
char buffer[65];
int r;
for( r=10; r>=2; --r )
{
_itoa( -1, buffer, r ); // C4996
// Note: _itoa is deprecated; consider using _itoa_s instead
printf( "base %d: %s (%d chars)\n", r, buffer, strnlen(buffer, _countof(buffer)) );
}
printf( "\n" );
for( r=10; r>=2; --r )
{
_i64toa( -1L, buffer, r ); // C4996
// Note: _i64toa is deprecated; consider using _i64toa_s
printf( "base %d: %s (%d chars)\n", r, buffer, strnlen(buffer, _countof(buffer)) );
}
printf( "\n" );
for( r=10; r>=2; --r )
{
_ui64toa( 0xffffffffffffffffL, buffer, r ); // C4996
// Note: _ui64toa is deprecated; consider using _ui64toa_s
printf( "base %d: %s (%d chars)\n", r, buffer, strnlen(buffer, _countof(buffer)) );
}
}