Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (10.2) — Plan9 3rd Edition (Vita Nuova)

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 ­e or ­E 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 0, hexadecimal if they begin with ­0x or 0X, 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. 

Plan 9  —  June 09, 2000

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