Strtoul

strtoul（string to unsigned long）とは、文字列をunsigned long型に変換する標準Cライブラリの関数である。stdlib.hに定義されている。

機能

文字列 
第一引数(nptr)の文字列では、+もしくは-の後に、以下のものを続けて書くことができる。
10進数
16進数
INF
NAN
符号は省略することもできる。

また、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言語
atol
標準Cライブラリ

外部リンク 
C言語関数辞典
strtoul(3)、JM Project

標準Cライブラリ