Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ strtol(3C) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctype(3C)

scanf(3S)

strtod(3C)



strtol(3C)      UNIX System V(C Programming Language Utilities)      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 positive (and not greater than 36), 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, LONGMAX or
      LONGMIN 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, ULONGMAX is returned, and errno is set to the
      value, ERANGE.

      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).



10/89                                                                    Page 1







strtol(3C)      UNIX System V(C Programming Language Utilities)      strtol(3C)


DIAGNOSTICS
      If strtol is given a base greater than 36, it returns 0 and sets errno to
      EINVAL.

SEE ALSO
      ctype(3C), scanf(3S), strtod(3C).

NOTES
      strtol no longer accepts values greater than LONGMAX as valid input.
      Use strtoul instead.












































Page 2                                                                    10/89





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