diff options
Diffstat (limited to 'man3/strtol.3')
-rw-r--r-- | man3/strtol.3 | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/man3/strtol.3 b/man3/strtol.3 index 42f181bfb..fe5555a71 100644 --- a/man3/strtol.3 +++ b/man3/strtol.3 @@ -10,7 +10,7 @@ .\" 386BSD man pages .\" Modified Sun Jul 25 10:53:39 1993 by Rik Faith (faith@cs.unc.edu) .\" Added correction due to nsd@bbc.com (Nick Duffek) - aeb, 950610 -.TH strtol 3 2023-02-05 "Linux man-pages 6.03" +.TH strtol 3 2023-07-20 "Linux man-pages 6.05.01" .SH NAME strtol, strtoll, strtoq \- convert a string to a long integer .SH LIBRARY @@ -143,28 +143,29 @@ no conversion was performed (no digits seen, and 0 returned). .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). -.ad l -.nh .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ +.na +.nh .BR strtol (), .BR strtoll (), .BR strtoq () T} Thread safety MT-Safe locale .TE -.hy -.ad .sp 1 .SH STANDARDS -.BR strtol (): -POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD. -.PP -.BR strtoll (): -POSIX.1-2001, POSIX.1-2008, C99. +C11, POSIX.1-2008. +.SH HISTORY +.TP +.BR strtol () +POSIX.1-2001, C89, SVr4, 4.3BSD. +.TP +.BR strtoll () +POSIX.1-2001, C99. .SH NOTES Since .BR strtol () @@ -243,44 +244,44 @@ strtol: Numerical result out of range #include <limits.h> #include <stdio.h> #include <stdlib.h> - +\& int main(int argc, char *argv[]) { int base; char *endptr, *str; long val; - +\& if (argc < 2) { fprintf(stderr, "Usage: %s str [base]\en", argv[0]); exit(EXIT_FAILURE); } - +\& str = argv[1]; base = (argc > 2) ? atoi(argv[2]) : 0; - +\& errno = 0; /* To distinguish success/failure after call */ val = strtol(str, &endptr, base); - +\& /* Check for various possible errors. */ - +\& if (errno != 0) { perror("strtol"); exit(EXIT_FAILURE); } - +\& if (endptr == str) { fprintf(stderr, "No digits were found\en"); exit(EXIT_FAILURE); } - +\& /* If we got here, strtol() successfully parsed a number. */ - +\& printf("strtol() returned %ld\en", val); - +\& if (*endptr != \[aq]\e0\[aq]) /* Not necessarily an error... */ printf("Further characters after number: \e"%s\e"\en", endptr); - +\& exit(EXIT_SUCCESS); } .EE |