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.