Share via


_itoa、_i64toa、_ui64toa、_itow、_i64tow、_ui64tow

更新 : 2007 年 11 月

整数を文字列に変換します。これらの関数のセキュリティを強化したバージョンについては、「_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 の場合は 33 文字まで、_i64toa および _ui64toa の場合は 65 文字まで) str に格納します。radix が 10 で value が負の場合、格納された文字列の最初の文字はマイナス記号 ( –) です。ワイド文字を扱う場合は、_itoa、_i64toa、および _ui64toa ではなく、それぞれ _itow、_i64tow、および _ui64tow を使用します。

yakksftt.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

バッファ オーバーランを回避するには、変換された数字と後続の null 文字や符号を格納するために十分なサイズの str バッファを確保してください。

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>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

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

base 10: -1 (2 chars)
base 9: 12068657453 (11 chars)
base 8: 37777777777 (11 chars)
base 7: 211301422353 (12 chars)
base 6: 1550104015503 (13 chars)
base 5: 32244002423140 (14 chars)
base 4: 3333333333333333 (16 chars)
base 3: 102002022201221111210 (21 chars)
base 2: 11111111111111111111111111111111 (32 chars)

base 10: -1 (2 chars)
base 9: 145808576354216723756 (21 chars)
base 8: 1777777777777777777777 (22 chars)
base 7: 45012021522523134134601 (23 chars)
base 6: 3520522010102100444244423 (25 chars)
base 5: 2214220303114400424121122430 (28 chars)
base 4: 33333333333333333333333333333333 (32 chars)
base 3: 11112220022122120101211020120210210211220 (41 chars)
base 2: 1111111111111111111111111111111111111111111111111111111111111111 (64 chars)

base 10: 18446744073709551615 (20 chars)
base 9: 145808576354216723756 (21 chars)
base 8: 1777777777777777777777 (22 chars)
base 7: 45012021522523134134601 (23 chars)
base 6: 3520522010102100444244423 (25 chars)
base 5: 2214220303114400424121122430 (28 chars)
base 4: 33333333333333333333333333333333 (32 chars)
base 3: 11112220022122120101211020120210210211220 (41 chars)
base 2: 1111111111111111111111111111111111111111111111111111111111111111 (64 chars)

.NET Framework の相当するアイテム

System::Convert::ToString

参照

参照

データ変換

_ltoa、_ltow

_ltoa_s、_ltow_s

_ultoa、_ultow

_ultoa_s、_ultow_s