インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテルの数値文字列変換ライブラリー (libistrconv) 関数を以下に示します。
インテルの数値文字列変換ライブラリーは、さまざまな形式の浮動小数点数 x から文字列 s への変換において次の関数をサポートします。l は、完全変換に必要な書式指定された文字列の長さです (null ターミネーターは含みません)。
__IML_float_to_string、__IML_double_to_string
説明: stdio.h の snprintf(s, n, "%.*g", p, x) に似ています。p は、固定小数点表記形式または指数表記形式の最大有効桁数を示します。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_float_to_string(char * s, size_t n, int p, float x);
int __IML_double_to_string(char * s, size_t n, int p, double x);
__IML_float_to_string_f、__IML_double_to_string_f
説明: stdio.h の snprintf(s, n, "%.*f", p, x) に似ています。p は、固定小数点表記形式の小数点以下の桁数を示します。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_float_to_string_f(char * s, size_t n, int p, float x);
int __IML_double_to_string_f(char * s, size_t n, int p, double x);
__IML_float_to_string_e、__IML_double_to_string_e
説明: stdio.h の snprintf(s, n, "%.*e", p, x) に似ています。p は、指数表記形式の小数点以下の桁数を示します。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_float_to_string_e(char * s, size_t n, int p, float x);
int __IML_double_to_string_e(char * s, size_t n, int p, double x);
__IML_f_to_str、__IML_d_to_str
説明: stdio.h の snprintf(s, n, "%.*g", p, x) に似ています。p は、固定小数点形式または指数表記形式の最大有効桁数を示します。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_f_to_str(char * s, size_t n, int p, float x);
int __IML_d_to_str(char * s, size_t n, int p, double x);
__IML_f_to_str_f、__IML_d_to_str_f
説明: stdio.h の snprintf(s, n, "%.*f", p, x) に似ています。p は、固定小数点表記形式の小数点以下の桁数を示します。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_f_to_str_f(char * s, size_t n, int p, float x);
int __IML_d_to_str_f(char * s, size_t n, int p, double x);
__IML_f_to_str_e、__IML_d_to_str_e
説明: stdio.h の snprintf(s, n, "%.*e", p, x) に似ています。p は、指数表記形式の小数点以下の桁数を示します。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_f_to_str_e(char * s, size_t n, int p, float x);
int __IML_d_to_str_e(char * s, size_t n, int p, double x);
インテルの数値文字列変換ライブラリーは、整数 x から文字列 s への変換において次の関数をサポートします。l は、完全変換に必要な書式指定された文字列の長さです (null ターミネーターは含みません)。
__IML_int_to_string、__IML_uint_to_string、__IML_int64_to_string、__IML_uint64_to_string
説明: stdio.h の snprintf(s, n, "%[d|u|lld|llu]", x) に似ています。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_int_to_string(char * s, size_t n, int x);
int __IML_uint_to_string(char * s, size_t n, unsigned int x);
int __IML_int64_to_string(char * s, size_t n, long long x);
int __IML_uint64_to_string(char * s, size_t n, unsigned long long x);
__IML_int_to_oct_string、__IML_uint_to_oct_string、__IML_int64_to_oct_string、__IML_uint64_to_oct_string
説明: stdio.h の snprintf(s, n, "%[o|llo]", x) に似ています。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_int_to_oct_string(char * s, size_t n, int x);
int __IML_uint_to_oct_string(char * s, size_t n, unsigned int x);
int __IML_int64_to_oct_string(char * s, size_t n, long long x);
int __IML_uint64_to_oct_string(char * s, size_t n, unsigned long long x);
__IML_int_to_hex_string、__IML_uint_to_hex_string、__IML_int64_to_hex_string、__IML_uint64_to_hex_string
説明: stdio.h の snprintf(s, n, "%[x|llx]", x) に似ています。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。(n-1) を超える出力文字は廃棄され、最後に null 文字が追加されます。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_int_to_hex_string(char * s, size_t n, int x);
int __IML_uint_to_hex_string(char * s, size_t n, unsigned int x);
int __IML_int64_to_hex_string(char * s, size_t n, long long x);
int __IML_uint64_to_hex_string(char * s, size_t n, unsigned long long x);
__IML_i_to_str、__IML_u_to_str、__IML_ll_to_str、__IML_ull_to_str
説明: stdio.h の snprintf(s, n, "%[d|u|lld|llu]", x) に似ています。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_i_to_str(char * s, size_t n, int x);
int __IML_u_to_str(char * s, size_t n, unsigned int x);
int __IML_ll_to_str(char * s, size_t n, long long x);
int __IML_ull_to_str(char * s, size_t n, unsigned long long x);
__IML_i_to_oct_str、__IML_u_to_oct_str、__IML_ll_to_oct_str、__IML_ull_to_oct_str
説明: stdio.h の snprintf(s, n, "%[o|llo]", x) に似ています。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_i_to_oct_str(char * s, size_t n, int x);
int __IML_u_to_oct_str(char * s, size_t n, unsigned int x);
int __IML_ll_to_oct_str(char * s, size_t n, long long x);
int __IML_ull_to_oct_str(char * s, size_t n, unsigned long long x);
__IML_i_to_hex_str、__IML_u_to_hex_str、__IML_ll_to_hex_str、 __IML_ull_to_hex_str
説明: stdio.h の snprintf(s, n, "%[x|llx]", x) に似ています。l < n の場合、すべての出力文字が s に格納され、最後に null ターミネーターが追加されます。そうでない場合、n を超える出力文字は廃棄され、最後に null 文字は追加されません。n が 0 の場合、何も書き込まれず、s は null ポインターの可能性があります。成功した場合 l が返されます。そうでない場合、結果は不定です。
呼び出しインターフェイス:
int __IML_i_to_hex_str(char * s, size_t n, int x);
int __IML_u_to_hex_str(char * s, size_t n, unsigned int x);
int __IML_ll_to_hex_str(char * s, size_t n, long long x);
int __IML_ull_to_hex_str(char * s, size_t n, unsigned long long x);
インテルの数値文字列変換ライブラリーは、10 進文字列 s の最初の部分から浮動小数点数 x への変換において次の関数をサポートします。変換できない場合は 0 が返されます。正確な値が戻り値の型の範囲外の場合、プラス (+)/マイナス (-) HUGE_VALF、HUGE_VAL、または HUGE_VALL が返され、マクロ ERANGE の値が errno に格納されます。
__IML_string_to_float、__IML_string_to_double、__IML_string_to_long_double
説明: stdlib.h の strtof(nptr, endptr)、strtod(nptr, endptr)、および strtold(nptr, endptr) に似ています。endptr は、null でない場合 nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
float __IML_string_to_float(const char * nptr, char ** endptr);
double __IML_string_to_double(const char * nptr, char ** endptr);
long double __IML_string_to_long_double(const char * nptr, char ** endptr);
__IML_str_to_f、__IML_str_to_d、__IML_str_to_ld
説明: これらの関数は、significand (仮数) 文字列の最初の 10 進 n 桁に 10 の exponent (指数) 乗を掛けて浮動小数点数に変換し、結果を返します。endptr は、null ポインターでない場合、仮数部の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
float __IML_str_to_f(const char * significand, size_t n, int exponent, char ** endptr);
double __IML_str_to_d(const char * significand, size_t n, int exponent, char ** endptr);
long double __IML_str_to_ld(const char * significand, size_t n, int exponent, char ** endptr);
インテルの数値文字列変換ライブラリーは、文字列 s の最初の部分から整数 x への変換において次の関数をサポートします。変換できない場合は 0 が返されます。正確な値が戻り値の型の範囲外の場合、INT_MIN、INT_MAX、UINT_MAX、LLONG_MIN、LLONG_MAX、ULLONG_MAX が返され、マクロ ERANGE の値が errno に格納されます。
__IML_string_to_int、__IML_string_to_uint、__IML_string_to_int64、__IML_string_to_uint64
説明: stdlib.h の ([unsigned] int)strto[u]l(nptr, endptr, 10) と strto[u]ll(nptr, endptr, 10) に似ています。endptr は、null でない場合 nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_string_to_int(const char * nptr, char ** endptr);
unsigned int __IML_string_to_uint(const char * nptr, char ** endptr);
long long __IML_string_to_int64(const char * nptr, char ** endptr);
unsigned long long __IML_string_to_uint64(const char * nptr, char ** endptr);
__IML_oct_string_to_int、__IML_oct_string_to_uint、__IML_oct_string_to_int64、__IML_oct_string_to_uint64
説明: stdlib.h の ([unsigned] int)strto[u]l(nptr, endptr, 8) と strto[u]ll(nptr, endptr, 8) に似ています。endptr は、null でない場合 nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_oct_string_to_int(const char * nptr,char ** endptr);
unsigned int __IML_oct_string_to_uint(const char * nptr,char ** endptr);
long long __IML_oct_string_to_int64(const char * nptr,char ** endptr);
unsigned long long __IML_oct_string_to_uint64(const char * nptr,char ** endptr);
__IML_hex_string_to_int、__IML_hex_string_to_uint、__IML_hex_string_to_int64、__IML_hex_string_to_uint64
説明: stdlib.h の ([unsigned] int)strto[u]l(nptr, endptr, 16) と strto[u]ll(nptr, endptr, 16) に似ています。endptr は、null でない場合 nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_hex_string_to_int(const char * nptr,char ** endptr);
unsigned int __IML_hex_string_to_uint(const char * nptr,char ** endptr);
long long __IML_hex_string_to_int64(const char * nptr,char ** endptr);
unsigned long long __IML_hex_string_to_uint64(const char * nptr,char ** endptr);
__IML_str_to_i、__IML_str_to_u、__IML_str_to_ll、__IML_str_to_ull
説明: nptr で指定された最初の 10 進 n 桁を整数値に変換します。endptr は、null ポインターでない場合、nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_str_to_i(const char * nptr, size_t n, char ** endptr);
unsigned int __IML_str_to_u(const char * nptr, size_t n, char ** endptr);
long long __IML_str_to_ll(const char * nptr, size_t n, char ** endptr);
unsigned long long __IML_str_to_ull(const char * nptr, size_t n, char ** endptr);
__IML_oct_str_to_i、__IML_oct_str_to_u、__IML_oct_str_to_ll、__IML_oct_str_to_ull
説明: nptr で指定された最初の 8 進 n 桁を整数値に変換します。endptr は、null ポインターでない場合、nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_oct_str_to_i(const char * nptr,size_t n,char ** endptr);
unsigned int __IML_oct_str_to_u(const char * nptr,size_t n,char ** endptr);
long long __IML_oct_str_to_ll(const char * nptr,size_t n,char ** endptr);
unsigned long long __IML_oct_str_to_ull(const char * nptr,size_t n,char ** endptr);
__IML_hex_str_to_i、__IML_hex_str_to_u、__IML_hex_str_to_ll、__IML_hex_str_to_ull
説明: nptr で指定された最初の 16 進 n 桁を整数値に変換します。endptr は、null ポインターでない場合、nptr の最後の部分を格納するオブジェクトを指します。
呼び出しインターフェイス:
int __IML_hex_str_to_i(const char * nptr,size_t n,char ** endptr);
unsigned int __IML_hex_str_to_u(const char * nptr,size_t n,char ** endptr);
long long __IML_hex_str_to_ll(const char * nptr,size_t n,char ** endptr);
unsigned long long __IML_hex_str_to_ull(const char * nptr,size_t n,char ** endptr);