インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

関数一覧

インテルの数値文字列変換ライブラリー (libistrconv) 関数を以下に示します。

浮動小数点数を ASCII 文字列へ変換するルーチン

インテルの数値文字列変換ライブラリーは、さまざまな形式の浮動小数点数 x から文字列 s への変換において次の関数をサポートします。l は、完全変換に必要な書式指定された文字列の長さです (null ターミネーターは含みません)。

__IML_float_to_string__IML_double_to_string

説明: stdio.hsnprintf(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.hsnprintf(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.hsnprintf(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.hsnprintf(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.hsnprintf(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.hsnprintf(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);

整数を ASCII 文字列へ変換するルーチン

インテルの数値文字列変換ライブラリーは、整数 x から文字列 s への変換において次の関数をサポートします。l は、完全変換に必要な書式指定された文字列の長さです (null ターミネーターは含みません)。

__IML_int_to_string__IML_uint_to_string__IML_int64_to_string__IML_uint64_to_string

説明: stdio.hsnprintf(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_i_to_str__IML_u_to_str__IML_ll_to_str__IML_ull_to_str

説明: stdio.hsnprintf(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);

ASCII 文字列を浮動小数点数へ変換するルーチン

インテルの数値文字列変換ライブラリーは、10 進文字列 s の最初の部分から浮動小数点数 x への変換において次の関数をサポートします。変換できない場合は 0 が返されます。正確な値が戻り値の型の範囲外の場合、プラス (+)/マイナス (-) HUGE_VALFHUGE_VAL、または HUGE_VALL が返され、マクロ ERANGE の値が errno に格納されます。

__IML_string_to_float__IML_string_to_double__IML_string_to_long_double

説明: stdlib.hstrtof(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);

ASCII 文字列を整数へ変換するルーチン

インテルの数値文字列変換ライブラリーは、文字列 s の最初の部分から整数 x への変換において次の関数をサポートします。変換できない場合は 0 が返されます。正確な値が戻り値の型の範囲外の場合、INT_MININT_MAXUINT_MAXLLONG_MINLLONG_MAXULLONG_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);