strtol

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。ぐしー (会話 | 投稿記録) による 2022年8月27日 (土) 01:53個人設定で未設定ならUTC)時点の版 (曖昧さ回避ページ無限大へのリンクを解消、リンク先を無限に変更(DisamAssist使用))であり、現在の版とは大きく異なる場合があります。

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);

関連項目

外部リンク