Share via


_ltoa_s、_ltow_s

更新 : 2007 年 11 月

長整数を文字列に変換します。これらの関数は、「CRT のセキュリティ強化」に説明されているように、_ltoa、_ltow のセキュリティが強化されたバージョンです。

errno_t _ltoa_s(
    long value,
    char *str,
    size_t sizeOfstr,
    int radix 
);
errno_t _ltow_s(
    long value,
    wchar_t *str,
    size_t sizeOfstr,
    int radix 
);
template <size_t size>
errno_t _ltoa_s(
    long value,
    char (&str)[size],
    int radix 
); // C++ only
template <size_t size>
errno_t _ltow_s(
    long value,
    wchar_t (&str)[size],
    int radix 
); // C++ only

パラメータ

  • value
    変換される数値。

  • str
    変換後の文字列のバッファ。

  • sizeOfstr
    str のサイズ。_ltoa_s の場合はバイト単位、_ltow_s の場合はワード単位。

  • radix
    value の基数。

戻り値

この関数が正常終了した場合は 0、失敗した場合はエラー コードを返します。

解説

_ltoa_s 関数は、value の数字を null で終わる文字列に変換し、その結果 (最大 33 バイト) を str に格納します。radix 引数は、value の基数を 2 ~ 36 の範囲で指定します。radix が 10 で value が負の場合、格納された文字列の最初の文字はマイナス記号 (-) になります。_ltow_s は、_ltoa_s のワイド文字バージョンです。_ltow_s の 2 番目の引数は、ワイド文字列になります。

str が NULL ポインタの場合、または sizeOfstr が 0 以下の場合、これらの関数は、「パラメータの検証」に説明されているように、無効なパラメータ ハンドラを呼び出します。実行の継続が許可された場合、これらの関数は -1 を返し、errno を EINVAL に設定します。value または str が長整数の範囲外の場合は -1 を返し、errno を ERANGE に設定します。

C++ では、これらの関数の使用はテンプレートのオーバーロードによって簡素化されます。オーバーロードでは、バッファ長を自動的に推論できる (サイズの引数を指定する必要がなくなる) だけでなく、古くてセキュリティが万全ではない関数を新しく安全な関数に自動的に置き換えることができます。詳細については、「セキュリティ保護されたテンプレート オーバーロード」を参照してください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_ltot_s

_ltoa_s

_ltoa_s

_ltow_s

必要条件

ルーチン

必須ヘッダー

_ltoa_s

<stdlib.h>

_ltow_s

<stdlib.h>

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

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

System::Convert::ToString

参照

参照

データ変換

_itoa、_i64toa、_ui64toa、_itow、_i64tow、_ui64tow

_ultoa、_ultow

_ultoa_s、_ultow_s