Provided by: manpages-nl_20051127-4_all
 

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’ pre‐
        fix, 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, str     
        toul() 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.)
        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 vari‐
        able errno to ERANGE.
 

ERRORS

        ERANGE The given string was out of range; the value converted has  been
               clamped.
        SVID 3, BSD 4.3, ISO 9899
        atof(3), atoi(3), atol(3), strtod(3), strtol(3)
 

BUGS

        Ignores the current locale.