STRTOL(3) — NEWS-OS Programmer’s Manual
名称
strtol, atol, atoi − 文字列を整数に変換する
形式
long strtol(str, ptr, base)
char ∗str, ∗∗ptr;
int base;
long atol(str)
char ∗str;
int atoi(str)
char ∗str;
解説
strtol は、文字列 str で表現される値を long int (倍精度整数) に変換して返します。 文字列は、基数に適合しない最初の文字まで走査されます。 先頭の空白 (ctype(3) の isspace で定義されているもの)は無視されます。
ptr の値が (char ∗∗)NULL でなければ、 走査を終了した文字を指すポインタが ptr の指すところに返されます。 整数を構成していない時は、 そこには str が設定され、 strtol はゼロを返します。
base が正の整数で 36 以下であれば、 それは変換の基数として使用されます。 符号(なくてもよい)の後のゼロは無視されます。 base が 16 の時は、“0x” または “0X” が無視されます。
base がゼロの時、次に述べるように文字列そのものが基数を決定します。 符号(なくてもよい)の後がゼロなら 8進数、 “0x” または “0X” なら 16進数、 それ以外は 10進数として変換されます。
long から int への切り捨ては、 代入または明示的なキャストによって行います。
atol(str) は、 strtol(str, (char ∗∗)NULL, 10) と同じです。
atoi(str) は、 (int) strtol(str, (char ∗∗)NULL, 10) と同じです。
関連事項
ctype(3), scanf(3S), strtod(3).
バグ
オーバーフローは無視されます。
NEWS-OSRelease 4.1C