strtol
strtoul(string to unsigned long)とは、文字列をunsigned long型に変換する標準Cライブラリの関数である。stdlib.h
に定義されている。
機能
文字列
第一引数(nptr)の文字列では、+もしくは-の後に、以下のものを続けて書くことができる。
符号は省略することもできる。
また、INFの代わりにINFINITYと書くこともできる。 INFもしくはINFINITYはその前が+なら無限大に、-なら無限小になる。
また、第三引数(base)で、基数を指定することができる。
0の場合は、文字列の先頭で判断する。
- 0xで始まる場合、16進数とみなす。
- 0で始まる場合、8進数とみなす。
- それ以外の場合は、10進数とする。
baseが0でない場合、2から36までの基数を指定することができる。
戻り値
変換が成功した場合は、変換した値を返す。
変換に失敗した場合、0を返す。
正しい値がオーバーフローもしくはアンダーフローを起こす場合は、 LONG_MIN もしくは LONG_MAX を返す。
エラー
オーバーフローもしくはアンダーフローが発生した場合、errnoに ERANGE が代入される。
形式
#include <stdlib.h>
unsigned long int strtoul(const char *nptr, char **endptr, int base);
関連項目
外部リンク
- C言語関数辞典
- strtoul(3)、JM Project