C言語の標準ライブラリstrtolのリファレンスです。
概要 | 文字列をlong型に変換する。 |
ヘッダ | #include <stdlib.h> |
I/F | long int strtol(const char * restrict nptr, char ** restrict endptr, int base); |
戻り値 | 変換した値。変換不可能ならば0。 |
詳細 | strtol関数は、文字列nptrを、基数をbaseとしたlong型の表現に変換する。 基数baseに指定できる値は、0又は2〜36である。baseが0の場合、文字列nptrの先頭が0なら、文字列を8進数とみなす。文字列の先頭が0x又は0Xならば、16進数とみなす。それら以外なら10進数とみなす。 baseに2〜36を指定した場合は、その数が基数になる。文字列nptrにおいてa(又はA)〜z(又はZ)のアルファベットは10〜35までの値に対応する。 文字列nptrの先頭には符号(+又は-)をつけてもよい。 変換後、endptrが空ポインタでなければ、末尾の文字列へのポインタをendptr格納する。文字列nptrが空であるか又は認識可能な形式でないなら変換は行わない。このとき、endptrが空ポインタでなければ、nptrの値をendptrに格納する。 変換した結果の正しい値が表現可能な値の範囲外の場合、strtol関数は、LONG_MIN又はLONG_MAXを返却する。 また、errnoにはERANGEを設定する。 |