ATOI(10.2)                                             ATOI(10.2)

     NAME
          atoi, atol, charstod, strtod, strtol, strtoul, strtoll -
          convert text to numbers

     SYNOPSIS
          int    atoi(char *nptr)

          long   atol(char *nptr)

          double charstod(int (*f)(void *), void *a)

          double strtod(char *nptr, char **rptr)

          long   strtol(char *nptr, char **rptr, int base)

          ulong  strtoul(char *nptr, char **rptr, int base)

          vlong  strtoll(char *nptr, char **rptr, int base)

     DESCRIPTION
          Atoi and atol convert a string pointed to by nptr to inte-
          ger, and long integer representation respectively.  The
          first unrecognized character ends the string.  Leading C
          escapes are understood, as in strtol with base zero.

          Atoi and atol recognize an optional string of tabs and
          spaces, then an optional sign, then a string of decimal dig-
          its.

          Strtod, strtol, strtoul, and strtoll behave similarly to
          atol and, if rptr is not zero, set *rptr to point to the
          input character immediately after the string converted.

          Strtod recognizes an optional string of tabs and spaces,
          then an optional sign, then a string of digits optionally
          containing a decimal point, then an optional `e' or `E' fol-
          lowed by an optionally signed integer.

          Strtol, strtoul and strtoll interpret the digit string in
          the specified base, from 2 to 36, each digit being less than
          the base.  Digits with value over 9 are represented by let-
          ters, a-z or A-Z.  If base is 0, the input is interpreted as
          an integral constant in the style of C (with no suffixed
          type indicators): numbers are octal if they begin with `0',
          hexadecimal if they begin with `0x' or `0X', otherwise deci-
          mal.  Strtoul does not recognize signs.

          Charstod interprets floating point numbers in the same syn-
          tax as strtod, but it gets successive characters by calling
          (*f)(a).  The last call to f terminates the scan, so it must

     Page 1                       Plan 9             (printed 3/28/24)

     ATOI(10.2)                                             ATOI(10.2)

          have returned a character that is not a legal continuation
          of a number.  Therefore, it may be necessary to back up the
          input stream one character after calling charstod.

     SOURCE
          /libkern/atol.c
          /libkern/charstod.c
          /libkern/strtod.c
          /libkern/strtol.c
          /libkern/strtoul.c
          /libkern/utils.c

     DIAGNOSTICS
          Zero is returned if the beginning of the input string is not
          interpretable as a number; even in this case, rptr will be
          updated.

     Page 2                       Plan 9             (printed 3/28/24)