Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (10.2) — Inferno 3rd Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

ATOI(10.2)

NAME

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

SYNOPSIS

intatoi(char *nptr)

longatol(char *nptr)

doublecharstod(int (*f)(void *), void *a)

doublestrtod(char *nptr, char **rptr)

longstrtol(char *nptr, char **rptr, int base)

ulongstrtoul(char *nptr, char **rptr, int base)

vlongstrtoll(char *nptr, char **rptr, int base)

DESCRIPTION

Atoi and atol convert a string pointed to by nptr to integer, 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 digits. 

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 or followed 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 letters, 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 hexadecimal if they begin with or otherwise decimal.  Strtoul does not recognize signs. 

Charstod interprets floating point numbers in the same syntax as strtod, but it gets successive characters by calling (*f)(a).  The last call to f terminates the scan, so it must 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

/kern/atol.c
/kern/charstod.c
/kern/strtod.c
/kern/strtol.c
/kern/strtoul.c
/kern/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. 

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