| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > sstrtol(3C)HP-UX 11i Version 2: September 2004 |
|
名称strtol(), atol(), atoi(), strtoul(), strtoll(), strtoull() ― 文字列を整数に変換 構文#include <stdlib.h> long strtol(const char *str, char **ptr, int base); long long strtoll(const char *str, char **ptr, int base); long atol(const char *str); int atoi(const char *str); unsigned long strtoul(const char *str, char **ptr, int base); unsigned long long strtoull(const char *str, char **ptr, int base); 説明strtol() または strtoul() は、 str が指す文字列を long int または unsigned long int 形式にそれぞれ変換します。 strtoll() または strtoull() は、 str が指す文字列を long long または unsigned long long 形式にそれぞれ変換します。 文字列は、底の値と矛盾する文字が検出されるまで解釈されます。 先頭の「空白」文字 ctype(3C) 内の isspace() により定義) は無視されます。 変換が行われない場合は、0 が返されます。 引き数 base が、2 以上 36 以下の場合、その値は変換用の底の値として用いられます。 オプションの先頭符号の後に続く先頭の 0 は無視され、 base が 16 のとき、 0x や 0X は無視されます。 base が 0 の場合、文字列の内容により底が決まります。つまり、オプションの先頭符号の後に続くものが 0 であれば 8 進数への変換が行われ、 0x や 0X であれば 16 進数への変換が行われます。 それ以外なら 10 進数への変換が行われます。 ptr の値が (char **)NULL でない場合、解釈を終了させる文字を指すポインターを ptr が指す位置に返します。 文字列から整数が生成されない場合、 ptr が指す位置に str が設定され、ゼロが返されます。 atol(str) は、 strtol(str, (char **)NULL, 10) と同様です。 atoi(str) は、 int strtol(str, (char **)NULL, 10) と同様です。 戻り値変換が正常に終了すれば、すべての関数は変換した値を返します。 正しい値がオーバーフローを起こした場合、
atol() と atoi() は両方ともオーバーフロー条件を無視します。 その他のすべてのエラーに対しては 0 が返され、 errno にはエラーを示す値が格納されます。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||