STRTOUL

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

strtoul , strtoull , strtouq - 文字列を Vt unsigned long 値、unsigned long long 値 または Vt uquad_t 値 に変換  

索引

ライブラリ

Lb libc  

索引

書式

In stdlib.h In limits.h Ft unsigned long Fn strtoul const char *nptr char **endptr int base Ft unsigned long long Fn strtoull const char *nptr char **endptr int base In sys/types.h In stdlib.h In limits.h Ft u_quad_t Fn strtouq const char *nptr char **endptr int base  

索引

解説

Fn strtoul 関数は、 Fa nptr にある文字列を Vt unsigned long 値に変換します。 Fn strtoull 関数は、 Fa nptr にある文字列を Vt unsigned long long 値に変換します。 Fn strtouq 関数は、 Fa nptr にある文字列を Vt u_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 進数) と見なされます。

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

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

索引

戻り値

Fn strtoul 関数は、 元の (否定されていない) 値がオーバフローを起こしそうにない限り、 変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。 オーバフローを起こす場合、 Fn strtoul は ULONG_MAX を返します。 Fn strtoull 関数は、 元の (否定されていない) 値がオーバフローを起こしそうにない限り、 変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。 オーバフローを起こす場合、 Fn strtoull は ULLONG_MAX を返します。 全ての場合で、 errno に Er ERANGE を設定します。  

索引

エラー

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

 

索引

関連項目

strtol(3)  

索引

規格

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

索引

バグ

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


 

索引

Index

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

jman



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