Everything

strtoull


数を表現する文字列をunsigned long long型の整数値に変換します。

[指定形式]

#include <stdlib.h>

unsigned long long strtoull (const char *nptr, char **endptr, long base);

[引数]

nptr 変換する数を表現する文字列へのポインタ

endptr 整数を構成しない最初の文字へのポインタを格納する記憶域へのポインタ

base 変換の基数(0又は2~36)

[戻り値]

正常:nptrが指している文字列が整数を構成しない文字で始まっている時:0

nptrが指している文字列が整数を構成する文字で始まっている時:変換されたunsigned long long型の整数値

異常:変換後の値がオーバフローの時:ULLONG_MAX

[備考]

変換後の値がオーバフローをおこした時は、errnoを設定します。

strtoull関数は、最初の数字から整数を構成しない最初の文字の前までをunsigned long long型の整数値に変換します。

endptrの指す記憶域に、整数を構成しない最初の文字へのポインタを設定します。最初の数字を読み込む前に整数を構成しない文字がある場合はnptrの値を設定します。endptrがNULL場合、この設定は行われません。

baseの値が0の時は、「3.1.3(4) 整数」の規則に従って変換されます。baseの値が2から36の間の時は、変換する時の基数を示しています。ここで変換する文字列中のa(もしくはA)からz(もしくはZ)までの文字は、10から35の値に対応付けられます。baseの値より大きいか等しい文字が、変換する文字列の中にある時は、そこで変換処理を終了します。また、符号の後にある0は、変換の時は無視され、また、baseが16の時の0x(もしくは0X)も無視されます。