strtoul

Autres langues

Langue: ja

Version: 2002-05-30 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

strtoul, strtoull, strtouq - ʸ»úÎó¤ò unsigned long int ¤ËÊÑ´¹¤¹¤ë

½ñ¼°


#include <stdlib.h>



unsigned long int

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



unsigned long long int

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

ÀâÌÀ

strtoul() ´Ø¿ô¤Ï¡¢ nptr ¤Îʸ»úÎó¤ÎºÇ½é¤ÎÉôʬ¤ò¡¢ base ¤ò´ð¿ô¤È¤·¤Æ unsigned long int ¤ËÊÑ´¹¤¹¤ë¡£ ¤³¤Î base ¤Ï 2 ¤«¤é 36 ¤Þ¤Ç¤ÎÃÍ ¤¢¤ë¤¤¤ÏÆÃÊ̤ʰÕÌ£¤ò»ý¤ÄÃÍ 0 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

ʸ»úÎó¤ÎÀèƬ¤Ë¤Ï¡¢Ç¤°Õ¤Î¿ô¤Î¶õÇò¤¬¤¢¤Ã¤Æ¤â¤è¤¯ (¶õÇò¤Ï (isspace(3) ¤ÇȽÄꤵ¤ì¤ë) ¡¢¤Þ¤¿¿ô»ú¤ÎľÁ°¤Ë¤Ï `+' ¤« `-' ¤Î Éä¹æ¤¬¤¢¤Ã¤Æ¤â¤è¤¤¡£ base ¤¬ 0 ¤Þ¤¿¤Ï 16 ¤Î¾ì¹ç¤Ë¤Ï¡¢ ʸ»úÎó¤ÎÀèƬ¤Ë `0x' ¤òÃÖ¤¯¤³¤È¤¬ ¤Ç¤­¡¢¤½¤Î¾ì¹ç¤Ë¤Ïʸ»úÎó¤Ï 16¿Ê¿ô¤È¤·¤Æ°·¤ï¤ì¤ë¡£ ¤³¤ì°Ê³°¤Îʸ»úÎó¤Ç base ¤¬ 0 ¤Î¾ì¹ç¤Ï¡¢ ʸ»úÎó¤¬ `0' ¤Ç»Ï¤Þ¤ë¤È¤­¤Ï 8¿Ê¿ô¤È¤·¤Æ¡¢ ¤½¤ì°Ê³°¤Î¤È¤­¤Ï 10¿Ê¿ô¤È¤·¤Æ°·¤ï¤ì¤ë¡£

ʸ»úÎó¤Î»Ä¤ê¤ÎÉôʬ¤Ï unsigned long int ¤ËÊÑ´¹¤µ¤ì¤ë¤¬¡¢´ð¿ô¤ËÂФ·¤Æ Í­¸ú¤Ç¤Ê¤¤¿ô»ú¤¬¸½¤ì¤¿»þÅÀ¤ÇÊÑ´¹¤Ï½ªÎ»¤¹¤ë¡£(11¿Ê¿ô°Ê¾å¤Ç¤Ï `A' ¤Ï Âçʸ»ú¡¦¾®Ê¸»ú¤Ë´Ø¤ï¤é¤º 10 ¤òɽ¤·¡¢ `B' ¤Ï 11 ¤òɽ¸½¤·, °Ê²¼Æ±Íͤˡ¢ `Z' ¤Ï 35 ¤òɽ¤¹¡£)

endptr ¤¬¥Ì¥ëÃÍ (NULL) ¤Ç¤Ê¤¤¾ì¹ç¡¢ strtoul() ¤ÏºÇ½é¤ËÉÔÀµ¤Êʸ»ú¤¬¸½¤ì¤¿¥¢¥É¥ì¥¹¤ò *endptr ¤Ë³ÊǼ¤·¤Æ¤¤¤ë¡£ ʸ»úÎó¤ËÍ­¸ú¤Ê¿ô»ú¤¬¤Ò¤È¤Ä¤â¤Ê¤±¤ì¤Ð¡¢ strtoul() ¤Ï nptr ¤Î¸µ¤ÎÃͤò *endptr ¤ËÂåÆþ¤¹¤ë(¤½¤·¤Æ 0 ¤òÊÖ¤¹)¡£ Æäˡ¢ *nptr ¤¬ `\0' °Ê³°¤Ç¡¢ÊÖ¤µ¤ì¤¿ **endptr ¤¬ `\0' ¤Ê¤é¤Ð¡¢Ê¸»úÎóÁ´ÂΤ¬Í­¸ú¤À¤Ã¤¿¤³¤È¤Ë¤Ê¤ë¡£

strtoull() ´Ø¿ô¤Ï strtoul() ´Ø¿ô¤ÈƱÍͤÀ¤¬¡¢unsigned long long int ·¿¤ÎÃͤòÊÖ¤¹¡£

ÊÖ¤êÃÍ

strtoul() ´Ø¿ô¤ÏÊÑ´¹·ë²Ì¤òÊÖ¤¹¡£Ê¸»úÎ󤬥ޥ¤¥Ê¥¹Éä¹æ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤¿¾ì ¹ç¤Ï¡¢(Éä¹æȿžÁ°¤ÎÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¤¤¤Ê¤±¤ì¤Ð) ÊÑ´¹·ë²Ì¤òÉä¹æȿž¤·¤¿ Ãͤò unsigned ·¿¤ÇÊÖ¤¹¡£ÊÑ´¹¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï ULONG_MAX ¤ò ÊÖ¤·¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô errno ¤Ë ERANGE ¤òÀßÄꤹ¤ë¡£ (ULONG_MAX ¤ò ULLONG_MAX ¤ÈÆɤßÂؤ¨¤ì¤Ð) strtoull() ¤Ï strtoul() ¤ÈÁ´¤¯Æ±¤¸¤Ç¤¢¤ë¡£

¥¨¥é¡¼

EINVAL
(C99 ¤Ë¤Ï¤Ê¤¤) Í¿¤¨¤é¤ì¤¿ base ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ÃͤǤ¢¤ë¡£
ERANGE
ʸ»úÎ󤬿ôÃͤÎɽ¸½Èϰϳ°¤Ç¤¢¤ë¡£

¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¡¢Á´¤¯ÊÑ´¹¤¬¹Ô¤ï¤ì¤Ê¤«¤Ã¤¿¾ì¹ç(Á´¤¯¿ô»ú¤¬¸½¤ì¤º¡¢ 0 ¤¬ÊÖ¤µ¤ì¤ë)¡¢errno ¤Ë EINVAL ¤¬¥»¥Ã¥È¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

½àµò

strtoul() ¤Ï SVr4, C89, C99 ¤È POSIX-2001 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£ strtoull() ¤Ï C99 ¤È POSIX.1-2001 ¤Ë½àµò¤·¤Æ¤¤¤ë¡£

Ãí°Õ

strtoul () ¤«¤é¤ÏÀ®¸ù¡¢¼ºÇԤɤÁ¤é¤Î¾ì¹ç¤Ç¤â 0, LONG_MAX (strtoull() ¤Ç¤Ï LLONG_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) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ÎÎã¤ò»²¾È¡£ ¤³¤Î¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤¿´Ø¿ô¤Î»ÈÍÑÊýË¡¤âƱÍͤǤ¢¤ë¡£

´ØÏ¢¹àÌÜ

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