_itoa、 _i64toa、 _ui64toa、 _itow、 _i64tow、 _ui64tow
將整數轉換成字串。 這些函式更安全版本都可使用; 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
參數
value
以指定須轉換的數字。str
結果的字串。radix
Base of value; 這必須是範圍 2–36。
傳回值
每個函式傳回的指標, str。 沒有任何錯誤傳回。
備註
_itoa, _i64toa,和_ui64toa函式轉換的數字指定value引數為 null 結尾字元字串並將結果 (最多 33 字元_itoa到 65 的_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)) );
}
}