_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow

将整数转换为字符串。 这些功能的更安全版本可用; _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

参数

  • value
    将转换的数字。

  • str
    字符串结果。

  • radix
    value基;哪些必须在范围 2-36。

返回值

这些函数都返回一个指向 str。 无错误返回。

备注

_itoa、 _i64toa和 _ui64toa 函数转换特定 value 参数的数字为 null 终止的字符串) 和存储结果 ( _itoa 和 65 的 33 个字符 _i64toa 和 _ui64toa的) 在 str。 如果 radix 等于 10,而 value 为负,存储的字符串的第一个字符为减号 (– )。 _itow、 _i64tow和 _ui64tow 分别为 _itoa、 _i64toa和 _ui64toa的宽字符版本,即。

安全说明安全说明

若要避免缓冲区溢出,请确保 str 缓冲区足以容纳转换的数字加后缀的 null 字符和符号字符。

在 C++ 中,这些函数的调用的模板重载越+新,保证这些函数副本。 有关更多信息,请参见 安全模板重载

一般文本例程映射

Tchar.h 实例

未定义的 _UNICODE 和 _MBCS

定义的 _MBCS

定义的 _UNICODE

_itot

_itoa

_itoa

_itow

_i64tot

_i64toa

_i64toa

_i64tow

_ui64tot

_ui64toa

_ui64toa

_ui64tow

要求

实例

必需的头

_itoa

stdlib.h

_i64toa

stdlib.h

_ui64toa

stdlib.h

_itow

stdlib.h

_i64tow

stdlib.h

_ui64tow

stdlib.h

有关更多兼容性信息,请参见中介绍的 兼容性

示例

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

.NET Framework 等效项

系统:: 转换:: ToString

请参见

参考

数据转换

_ltoa, _ltow

_ltoa_s, _ltow_s

_ultoa, _ultow

_ultoa_s, _ultow_s