summaryrefslogtreecommitdiffstats
path: root/man3/strtol.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/strtol.3')
-rw-r--r--man3/strtol.343
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