| .TH FMTSTRTOD 3 |
| .SH NAME |
| fmtstrtod, fmtcharstod \ - convert text to numbers |
| .SH SYNOPSIS |
| .B #include <utf.h> |
| .br |
| .B #include <fmt.h> |
| .PP |
| .PP |
| .B |
| double fmtstrtod(char *nptr, char **rptr) |
| .PP |
| .B |
| double fmtcharstod(int (*f)(void *), void *a) |
| .SH DESCRIPTION |
| .I Fmtstrtod |
| converts a string pointed to by |
| .I nptr |
| to floating point representation and, if |
| .I rptr |
| is not zero, sets |
| .I *rptr |
| to point to the input character immediately after the string converted. |
| .I Fmtstrtod |
| 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 |
| .PP |
| .I Fmtcharstod |
| interprets floating point numbers in the manner of |
| .IR atof , |
| but gets successive characters by calling |
| .BR (*\fIf\fP)(a) . |
| 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 fmtcharstod . |
| .SH SOURCE |
| .B http://swtch.com/plan9port/unix |
| .SH SEE ALSO |
| .IR fscanf (3) |
| .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. |