diff options
Diffstat (limited to 'man/10/atoi')
| -rw-r--r-- | man/10/atoi | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/man/10/atoi b/man/10/atoi new file mode 100644 index 00000000..6281ac2e --- /dev/null +++ b/man/10/atoi @@ -0,0 +1,127 @@ +.TH ATOI 10.2 +.SH NAME +atoi, atol, charstod, strtod, strtol, strtoul, strtoll \- convert text to numbers +.SH SYNOPSIS +.nf +.ta \w'\fLdouble 'u +.B +int atoi(char *nptr) +.PP +.B +long atol(char *nptr) +.PP +.B +double charstod(int (*f)(void *), void *a) +.PP +.B +double strtod(char *nptr, char **rptr) +.PP +.B +long strtol(char *nptr, char **rptr, int base) +.PP +.B +ulong strtoul(char *nptr, char **rptr, int base) +.PP +.B +vlong strtoll(char *nptr, char **rptr, int base) +.fi +.SH DESCRIPTION +.IR Atoi +and +.I atol +convert a string pointed to by +.I nptr +to integer, and long integer +representation respectively. +The first unrecognized character ends the string. +Leading C escapes are understood, as in +.I strtol +with +.I base +zero. +.PP +.I Atoi +and +.I atol +recognize an optional string of tabs and spaces, +then an optional sign, then a string of +decimal digits. +.PP +.IR Strtod , +.IR strtol , +.IR strtoul , +and +.I strtoll +behave similarly to +.I atol +and, if +.I rptr +is not zero, set +.I *rptr +to point to the input character +immediately after the string converted. +.PP +.I 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 +.L e +or +.L E +followed +by an optionally signed integer. +.PP +.IR Strtol , +.I strtoul +and +.I strtoll +interpret the digit string in the specified +.IR 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 +.I 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 +.LR 0 , +hexadecimal if they begin with +.L 0x +or +.LR 0X , +otherwise decimal. +.I Strtoul +does not recognize signs. +.PP +.I Charstod +interprets floating point numbers in the same syntax as +.IR strtod , +but it gets successive characters by calling +.BR (*\fIf\fP)(\f2a\f5) . +The last call to +.I 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 +.IR charstod . +.SH SOURCE +.B /libkern/atol.c +.br +.B /libkern/charstod.c +.br +.B /libkern/strtod.c +.br +.B /libkern/strtol.c +.br +.B /libkern/strtoul.c +.br +.B /libkern/utils.c +.SH DIAGNOSTICS +Zero is returned if the beginning of the input string is not +interpretable as a number; even in this case, +.I rptr +will be updated. |
