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