STRTOL

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

strtol, strtoq - 文字列の数値を long 値、long long 値または quad_t 値に変換  

索引

ライブラリ

Lb libc  

索引

書式

In stdlib.h In limits.h Ft long Fn strtol const char *nptr char **endptr int base Ft long long Fn strtoll const char *nptr char **endptr int base In sys/types.h In stdlib.h In limits.h Ft quad_t Fn strtoq const char *nptr char **endptr int base  

索引

解説

Fn strtol 関数は、 Fa nptr にある文字列を long 値に変換します。 Fn strtoll 関数は、 Fa nptr にある文字列を long long 値に変換します。 Fn strtoq 関数は、 Fa nptr にある文字列を quad_t 値に変換します。 変換は与えられた Fa base に従って行われます。 この Fa base の値は 2 から 36 の間か、 または特別な値である 0 でなければなりません。

文字列は、任意の数の空白文字 (isspace3 により決められるような) で始まり、 オプションで一つの `+' または `-' 記号がそれに続きます。 Fa base が 0 か 16 のときは、文字列は接頭辞 `0x' を含むことができ、数字は基数を 16 として読み取られます。 そうでないときの、0 の Fa base では、その次の文字が `0' でなければ 10 (10 進数) と見なされ、 `0' であれば 8 (8 進数) と見なされます。

文字列の残りは、 与えられた基数では有効な数字ではない最初の文字のところで中止するという わかりやすいやり方で long 値に変換されます。 (10 以上の基数では、大文字または小文字の `A' は 10 を、 `B' は 11 を表し、 `Z' は 35 を表します。)

Fa endptr が空ポインタではない場合は、 Fn strtol は最初の無効な文字のアドレスを Fa *endptr に格納します。 数字が全くなかった場合は、 Fn strtol は Fa nptr の元の値を Fa *endptr に格納します。 (従って、戻ったときに Fa *nptr が `\0' ではなく、 Fa **endptr が `\0' である場合は、文字列全体が 有効だったことになります。)  

索引

戻り値

Fn strtol 関数は、値がアンダフローやオーバフローを起こさない限り、 変換の結果を返します。 アンダフローが起こった場合は、 Fn strtol は LONG_MIN を返します。オーバフローが起こった場合は、 Fn strtol は LONG_MAX を返します。 Fn strtoll 関数は、値がアンダフローやオーバフローを起こさない限り、 変換の結果を返します。 アンダフローが起こった場合は、 Fn strtoll は LLONG_MIN を返します。オーバフローが起こった場合は、 Fn strtoll は LLONG_MAX を返します。 全ての場合、 errno は Er ERANGE に設定されます。  

索引

エラー

Bq Er ERANGE
与えられた文字列が値域を超えました。 変換された値は固定されています。

 

索引

関連項目

atof(3), atoi(3), atol(3), strtod(3), strtoul(3)  

索引

規格

Fn strtol 関数は、 St -isoC に適合しています。 Fn strtoll 関数は、 St -isoC-99 に適合しています。 BSD Fn strtoq 関数は推奨されません。  

索引

バグ

現在のロケールを無視します。


 

索引

Index

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
規格
バグ

jman



Time: 07:07:10 GMT, January 12, 2009