Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ atoi(3C) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctype(3C)

fscanf(3S)

strtod(3C)






       strtol(3C)                                                strtol(3C)


       NAME
             strtol, strtoul, atol, atoi - convert string to integer

       SYNOPSIS
             #include <stdlib.h>
             long strtol (const char *str, char **ptr, int base);
             unsigned long strtoul (const char *str, char **ptr, int base);
             long atol (const char *str);
             int atoi (const char *str);

       DESCRIPTION
             strtol returns as a long integer the value represented by the
             character string pointed to by str.  The string is scanned up
             to the first character inconsistent with the base.  Leading
             ``white-space'' characters [as defined by isspace in
             ctype(3C)] are ignored.

             If the value of ptr is not (char **)NULL, a pointer to the
             character terminating the scan is returned in the location
             pointed to by ptr.  If no integer can be formed, that location
             is set to str, and zero is returned.

             If base is between 2 and 36, inclusive, it is used as the base
             for conversion.  After an optional leading sign, leading zeros
             are ignored, and ``0x'' or ``0X'' is ignored if base is 16.

             If base is zero, the string itself determines the base as
             follows: After an optional leading sign a leading zero
             indicates octal conversion, and a leading ``0x'' or ``0X''
             hexadecimal conversion.  Otherwise, decimal conversion is
             used.

             Truncation from long to int can, of course, take place upon
             assignment or by an explicit cast.

             If the value represented by str would cause overflow, LONG_MAX
             or LONG_MIN is returned (according to the sign of the value),
             and errno is set to the value, ERANGE.

             strtoul is similar to strtol except that strtoul returns as an
             unsigned long integer the value represented by str.  If the
             value represented by str would cause overflow, ULONG_MAX is
             returned, and errno is set to the value, ERANGE.





                           Copyright 1994 Novell, Inc.               Page 1













      strtol(3C)                                                strtol(3C)


            Except for behavior on error, atol(str) is equivalent to:

                  strtol(str, (char **)NULL, 10)

            Except for behavior on error, atoi(str) is equivalent to:

                  (int) strtol(str, (char **)NULL, 10)

         Return Values
            If strtol is given a base greater than 36 or less than 2, it
            returns 0 and sets errno to EINVAL.

      REFERENCES
            ctype(3C), fscanf(3S), strtod(3C)

      NOTICES
            strtol no longer accepts values greater than LONG_MAX as valid
            input.  Use strtoul instead.






























                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026