_ultoa_s、_ultow_s
unsigned long 型の整数を文字列に変換します。 これらの関数は、「CRT のセキュリティ機能」に説明されているように、_ultoa、_ultow のセキュリティが強化されたバージョンです。
errno_t _ultoa_s(
unsigned long value,
char *str,
size_t sizeOfstr,
int radix
);
errno_t _ultow_s(
unsigned long value,
wchar_t *str,
size_t sizeOfstr,
int radix
);
template <size_t size>
errno_t _ultoa_s(
unsigned long value,
char (&str)[size],
int radix
); // C++ only
template <size_t size>
errno_t _ultow_s(
unsigned long value,
wchar_t (&str)[size],
int radix
); // C++ only
パラメーター
value
変換される数値。str
結果の文字列。sizeOfstr
str のサイズ。_ultoa_s の場合はバイト単位、_ultow_s の場合はワード単位。radix
value の基数。
戻り値
この関数が正常終了した場合は 0、失敗した場合はエラー コードを返します。
解説
_ultoa_s 関数は、value の数字を null で終わる文字列に変換し、その結果 (最大 33 バイト) を str に格納します。 radix 引数は、value の基数を 2 ~ 36 の範囲で指定します。 _ultow_s は _ultoa_s のワイド文字バージョンであり、_ultow_s の 2 番目の引数はワイド文字列です。
str が NULL ポインターの場合、または sizeOfstr が 0 以下の場合は、「パラメーターの検証 」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、これらの関数は -1 を返し、errno を EINVAL に設定します。value または str が長整数の範囲外の場合は -1 を返し、errno を ERANGE に設定します。
C++ では、これらの関数の使用はテンプレートのオーバーロードによって簡素化されます。オーバーロードでは、バッファー長を自動的に推論できる (サイズの引数を指定する必要がなくなる) だけでなく、古くてセキュリティが万全ではない関数を新しく安全な関数に自動的に置き換えることができます。 詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE & _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_ultot_s |
_ultoa_s |
_ultoa_s |
_ultow_s |
必要条件
ルーチン |
必須ヘッダー |
---|---|
_ultoa_s |
<stdlib.h> |
_ultow_s |
<stdlib.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。