STRTOL(3)           Linux Programmer's Manual           STRTOL(3)

NAME
       strtol - convert a string to a long integer.

SYNOPSIS
       #include <stdlib.h>

       long int strtol(const char *nptr, char **endptr, int base);

DESCRIPTION
       The  strtol()  function  converts  the string in nptr to a
       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  a  long  int
       value in the obvious manner, stopping at the first charac-
       ter 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, strtol() stores the address of the
       first invalid character in *endptr.  If there were no dig-
       its  at all, strtol() 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  strtol()  function  returns the result of the conver-
       sion, unless the value would underflow or overflow.  If an
       underflow  occurs, strtol() returns LONG_MIN.  If an over-
       flow occurs, strtol() returns LONG_MAX.   In  both  cases,
       errno is set 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), strtoul(3)

BUGS
       Ignores the current locale.

GNU                        10 June 1995                         1