_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow
Converte um número inteiro em uma seqüência de caracteres.Versões mais seguras dessas funções estão disponíveis; see _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
Parâmetros
value
Número a ser convertido.str
Seqüência de resultado.radix
Base of value; qual deve estar no 2–36 intervalo.
Valor de retorno
Cada uma dessas funções retorna um ponteiro para str.Não há nenhum retorno de erro.
Comentários
O _itoa, _i64toa, e _ui64toa funções convertem os dígitos da determinado value argumento para uma seqüência terminada por caractere nulo e armazena o resultado (até 33 caracteres para _itoa e 65 para _i64toa e _ui64toa) em str.Se radix é igual a 10 e value é negativo, o primeiro caractere da seqüência de caracteres armazenado é o sinal de menos ( – )._itow, _i64tow, e _ui64tow são versões de caractere largo de _itoa, _i64toa, e _ui64toa, respectivamente.
Observação de segurança |
---|
Para evitar saturações de buffer, assegurar que o str o buffer é grande o suficiente para conter os dígitos convertidos plus o caractere null à direita e um caractere de sinal. |
No C++, essas funções têm sobrecargas de modelo que invocam as suas similares do mais recentes, seguras dessas funções.Para obter mais informações, consulte Proteger Overloads de modelo.
Mapeamentos de rotina de texto genérico
Rotina de TCHAR.h |
_ Unicode e _ MBCS do arquivo não definido |
_ MBCS do arquivo definido |
_ Unicode definido |
---|---|---|---|
_itot |
_itoa |
_itoa |
_itow |
_i64tot |
_i64toa |
_i64toa |
_i64tow |
_ui64tot |
_ui64toa |
_ui64toa |
_ui64tow |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_itoa |
<stdlib.h> |
_i64toa |
<stdlib.h> |
_ui64toa |
<stdlib.h> |
_itow |
<stdlib.h> |
_i64tow |
<stdlib.h> |
_ui64tow |
<stdlib.h> |
Para obter mais informações de compatibilidade, consulte compatibilidade na introdução.
Exemplo
// 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
printf( "base %d: %s (%d chars)\n", r, buffer, strnlen(buffer, _countof(buffer)) );
}
}