Man page - strtoul(3)

Packages contains this manual

Available languages:

en fr nl ja ro

Manual

STRTOUL

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
åąž 性
æē– 拠
æŗ¨ 意
例
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

strtoul, strtoull, strtouq - 文 字 列 を unsigned long int ãĢ 変 換 す る

書 åŧ

#include <stdlib.h>

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

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

glibc 向 け ぎ 抟 čƒŊ 検 æŸģ マ ク ロ ぎ čρ äģļ ( feature_test_macros (7) 参 į…§ ):

strtoull ():

_ISOC99_SOURCE ||
|| /* Glibc versions <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

čĒŦ 明

strtoul () é–ĸ 数 は 、 nptr ぎ 文 字 列 ぎ 最 初 ぎ 部 分 を 、 base を åŸē 数 と し ãĻ unsigned long ãĢ 変 換 す る 。 こ ぎ base は 2 か ら 36 ぞ で ぎ 値 あ る い は į‰š åˆĨ ãĒ 意 呺 を 持 つ 値 0 で ãĒ け れ ば ãĒ ら ãĒ い 。

文 字 列 ぎ 先 é ­ ãĢ は 、 äģģ æ„ ぎ 数 ぎ įŠē į™Ŋ が あ ãŖ ãĻ も よ く (įŠē į™Ŋ は isspace (3) で 判 厚 さ れ る )、 ぞ た 数 字 ぎ į›´ 前 ãĢ は '+' か '-' ぎ įŦĻ åˇ が あ ãŖ ãĻ も よ い 。 base が 0 ぞ た は 16 ぎ å ´ 合 ãĢ は 、 文 字 列 ぎ 先 é ­ ãĢ "0x" を įŊŽ ã こ と が で き 、 そ ぎ å ´ 合 ãĢ は 文 字 列 は 16進 数 と し ãĻ æ‰ą わ れ る 。 こ れ äģĨ 外 ぎ 文 字 列 で base が 0 ぎ å ´ 合 は 、 文 字 列 が '0' で 始 ぞ る と き は 8進 数 と し ãĻ 、 そ れ äģĨ 外 ぎ と き は 10進 数 と し ãĻ æ‰ą わ れ る 。

文 字 列 ぎ 掋 り ぎ 部 分 は unsigned long ãĢ 変 換 さ れ る が 、 åŸē 数 ãĢ 寞 し ãĻ 有 劚 で ãĒ い 数 字 が įž れ た 時 į‚š で 変 換 は įĩ‚ äē† ã™ る 。 (11進 数 äģĨ 上 で は 'A' は 大 文 字 ãƒģ 小 文 字 ãĢ é–ĸ わ ら ず 10 を 襨 し 、 'B' は 11 を 襨 įž し , äģĨ 下 同 様 ãĢ 、 'Z' は 35 を 襨 す 。 )

endptr が ヌ ãƒĢ 値 (NULL) で ãĒ い å ´ 合 、 strtoul () は 最 初 ãĢ 不 æ­Ŗ ãĒ 文 字 が įž れ た ã‚ĸ ド ãƒŦ ゚ を *endptr ãĢ æ ŧ į´ し ãĻ い る 。 文 字 列 ãĢ 有 劚 ãĒ 数 字 が ã˛ と つ も ãĒ け れ ば 、 strtoul () は nptr ぎ 元 ぎ 値 を *endptr ãĢ äģŖ å…Ĩ す る (そ し ãĻ 0 を čŋ” す )。 į‰š ãĢ 、 *nptr が '\0' äģĨ 外 で 、 čŋ” さ れ た **endptr が '\0' ãĒ ら ば 、 文 字 列 全 äŊ“ が 有 劚 だ ãŖ た こ と ãĢ ãĒ る 。

strtoull () é–ĸ 数 は strtoul () é–ĸ 数 と 同 様 だ が 、 unsigned long long 型 ぎ 値 を čŋ” す 。

čŋ” り 値

strtoul () é–ĸ 数 は 変 換 įĩ 果 を čŋ” す 。 文 字 列 が マ イ ナ ゚ įŦĻ åˇ か ら 始 ぞ ãŖ ãĻ い た å ´ 合 は 、 (įŦĻ åˇ 反 čģĸ 前 ぎ 値 が ã‚Ē ãƒŧ バ ãƒŧ フ ロ ãƒŧ し ãĻ い ãĒ け れ ば ) 変 換 įĩ 果 を įŦĻ åˇ 反 čģĸ し た 値 を unsigned 型 で čŋ” す 。 変 換 で ã‚Ē ãƒŧ バ ãƒŧ フ ロ ãƒŧ が į™ē į”Ÿ し た å ´ 合 は ULONG_MAX を čŋ” し 、 errno ãĢ ERANGE を 設 厚 す る 。 ( ULONG_MAX を ULLONG_MAX と čĒ­ ãŋ æ›ŋ え れ ば ) strtoull () は strtoul () と 全 く 同 じ で あ る 。

エ ナ ãƒŧ

EINVAL

(C99 ãĢ は ãĒ い ) 指 厚 さ れ た base が ã‚ĩ ポ ãƒŧ ト さ れ ãĻ い ãĒ い 値 で あ る 。

ERANGE

įĩ 果 ぎ 値 が ᝄ 回 外 で あ る 。

原 čŖ… ãĢ よ ãŖ ãĻ は 、 変 換 が 行 わ れ ãĒ か ãŖ た å ´ 合 (数 字 が ãĒ く 、 0 を čŋ” し た å ´ 合 )、 errno ãĢ EINVAL が 設 厚 さ れ る å ´ 合 が あ る 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-13029-1.png

æē– 拠

strtoul (): POSIX.1-2001, POSIX.1-2008, C89, C99 SVr4.

strtoull (): POSIX.1-2001, POSIX.1-2008, C99.

æŗ¨ 意

strtoul () か ら は 成 功 、 å¤ą 敗 お ãĄ ら ぎ å ´ 合 で も 0 や ULONG_MAX ( strtoull () で は ULLONG_MAX ) が čŋ” る 可 čƒŊ 性 が あ る ぎ で 、 プ ロ グ ナ ム は é–ĸ 数 を å‘ŧ ãŗ å‡ē す 前 ãĢ errno を 0 ãĢ 設 厚 し 、 å‘ŧ ãŗ å‡ē し 垌 ãĢ errno が 0 äģĨ 外 ぎ 値 か お う か を įĸē čĒ し エ ナ ãƒŧ が į™ē į”Ÿ し た か お う か を 判 断 す る åŋ… čρ が あ る 。

"C" äģĨ 外 ぎ ロ ã‚ą ãƒŧ ãƒĢ ぎ å ´ 合 、 そ ぎ äģ– ãŽ 文 字 列 も 受 け äģ˜ ã‘ ら れ る か も し れ ãĒ い 。 (例 え ば 、 įž 在 ぎ ロ ã‚ą ãƒŧ ãƒĢ ぎ 1000 毎 ぎ åŒē 切 り 文 字 ãĢ 寞 åŋœ し ãĻ い る か も し れ ãĒ い 。 )

BSD ãĢ は 、

u_quad_t strtouq(const char * nptr , char ** endptr , int base );

と い う 厌 全 ãĢ 同 様 ぎ 厚 įžŠ を 持 つ é–ĸ 数 が あ る 。 äŊŋ ᔍ 中 ぎ ã‚ĸ ãƒŧ キ テ ク チ ãƒŖ ãƒŧ ぎ ワ ãƒŧ ド 長 æŦĄ įŦŦ で あ る が 、 こ ぎ é–ĸ 数 は strtoull () や stroul () と į­‰ 䞥 ãĒ å ´ 合 も あ り え る 。

負 ぎ 値 も æ­Ŗ åŊ“ ãĒ å…Ĩ 力 と ãŋ ãĒ さ れ 、 エ ナ ãƒŧ も ãĒ く 、 寞 åŋœ す る unsigned long 型 ぎ 値 ãĢ 変 換 さ れ る 。

例

strtol (3) ぎ マ ニ ãƒĨ ã‚ĸ ãƒĢ ペ ãƒŧ ジ ぎ 例 を 参 į…§ 。 こ ぎ ペ ãƒŧ ジ で čĒŦ 明 し た é–ĸ 数 ぎ äŊŋ ᔍ æ–š æŗ• も 同 様 で あ る 。

é–ĸ 逪 項 į›Ž

a64l (3), atof (3), atoi (3), atol (3), strtod (3), strtol (3), strtoumax (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。