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 spe­
       cial 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 dig­
       its 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 orig­
       inal (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  con­
              verted has been clamped.


CONFORMING TO

       SVID 3, BSD 4.3, ISO 9899


SEE ALSO

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

       Ignores the current locale.


Man(1) output converted with man2html