Provided by: manpages-pt-dev_20040726-4_all bug

NAME

       strtoul - convert a string to an unsigned long integer.

SYNOPSIS

       #include <stdlib.h>

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

DESCRIPTION

       The  strtoul() function converts the string in nptr to an unsigned long
       integer value according to the given base, which must be between 2  and
       36 inclusive, or be the special value 0.

       The  string  must  begin  with  an  arbitrary amount of white space (as
       determined by isspace(3)) followed by a  single  optional  `+'  or  `-'
       sign.   If  base  is  zero  or  16,  the string may then include a `0x'
       prefix, and the number will be read in base 16; otherwise, a zero  base
       is  taken  as  10  (decimal) unless the next character is `0', in which
       case it is taken as 8 (octal).

       The remainder of the string is converted to an unsigned long int  value
       in  the  obvious manner, stopping at the first character which is not a
       valid digit in the given base.  (In bases above 10, the letter  `A'  in
       either  upper  or  lower  case represents 10, `B' represents 11, and so
       forth, with `Z' representing 35.)

       If endptr is not NULL,  strtoul()  stores  the  address  of  the  first
       invalid  character  in  *endptr.   If  there  were  no  digits  at all,
       strtoul() stores the original value of  nptr  in  *endptr.   (Thus,  if
       *nptr  is not `\0' but **endptr is `\0' on return, the entire string is
       valid.)

RETURN VALUE

       The strtoul() function returns either the result of the conversion  or,
       if  there  was  a leading minus sign, the negation of the result of the
       conversion, unless the original (non-negated) value would overflow;  in
       the  latter  case,  strtoul()  returns  ULONG_MAX  and  sets the global
       variable errno to ERANGE.

ERRORS

       ERANGE The given string was out of range; the value converted has  been
              clamped.

CONFORMING TO

       SVID 3, BSD 4.3, ISO 9899

SEE ALSO

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

BUGS

       Ignores the current locale.