Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | --- strtol.3 2006-02-14 14:41:58.000000000 -0800 +++ strtol.3.edit 2006-08-09 13:42:57.000000000 -0700 @@ -40,7 +40,10 @@ .Dt STRTOL 3 .Os .Sh NAME -.Nm strtol , strtoll , strtoimax , strtoq +.Nm strtoimax , +.Nm strtol , +.Nm strtoll , +.Nm strtoq .Nd "convert a string value to a" .Vt long , "long long" , intmax_t or @@ -49,26 +52,41 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS +.In inttypes.h +.Ft intmax_t +.Fo strtoimax +.Fa "const char *restrict str" +.Fa "char **restrict endptr" +.Fa "int base" +.Fc .In stdlib.h -.In limits.h .Ft long -.Fn strtol "const char * restrict nptr" "char ** restrict endptr" "int base" +.Fo strtol +.Fa "const char *restrict str" +.Fa "char **restrict endptr" +.Fa "int base" +.Fc .Ft long long -.Fn strtoll "const char * restrict nptr" "char ** restrict endptr" "int base" -.In inttypes.h -.Ft intmax_t -.Fn strtoimax "const char * restrict nptr" "char ** restrict endptr" "int base" +.Fo strtoll +.Fa "const char *restrict str" +.Fa "char **restrict endptr" +.Fa "int base" +.Fc .In sys/types.h .In stdlib.h .In limits.h .Ft quad_t -.Fn strtoq "const char *nptr" "char **endptr" "int base" +.Fo strtoq +.Fa "const char *str" +.Fa "char **endptr" +.Fa "int base" +.Fc .Sh DESCRIPTION The .Fn strtol function converts the string in -.Fa nptr +.Fa str to a .Vt long value. @@ -76,7 +94,7 @@ .Fn strtoll function converts the string in -.Fa nptr +.Fa str to a .Vt "long long" value. @@ -84,7 +102,7 @@ .Fn strtoimax function converts the string in -.Fa nptr +.Fa str to an .Vt intmax_t value. @@ -92,7 +110,7 @@ .Fn strtoq function converts the string in -.Fa nptr +.Fa str to a .Vt quad_t value. @@ -147,11 +165,11 @@ If there were no digits at all, however, .Fn strtol stores the original value of -.Fa nptr +.Fa str in .Fa *endptr . (Thus, if -.Fa *nptr +.Fa *str is not .Ql \e0 but @@ -159,11 +177,17 @@ is .Ql \e0 on return, the entire string was valid.) +.Pp +Extended locale versions of these functions are documented in +.Xr strtol_l 3 . +See +.Xr xlocale 3 +for more information. .Sh RETURN VALUES The .Fn strtol , .Fn strtoll , -.Fn strtoimax +.Fn strtoimax , and .Fn strtoq functions @@ -181,8 +205,8 @@ .Er ERANGE and the function return value is clamped according to the following table. -.Bl -column -offset indent ".Fn strtoimax" ".Sy overflow" ".Sy underflow" -.It Sy Function Ta Sy overflow Ta Sy underflow +.Bl -column -offset indent ".Fn strtoimax" ".Dv INTMAX_MIN" ".Dv INTMAX_MAX" +.It Sy Function Ta Sy underflow Ta Sy overflow .It Fn strtol Ta Dv LONG_MIN Ta Dv LONG_MAX .It Fn strtoll Ta Dv LLONG_MIN Ta Dv LLONG_MAX .It Fn strtoimax Ta Dv INTMAX_MIN Ta Dv INTMAX_MAX @@ -199,13 +223,25 @@ .It Bq Er ERANGE The given string was out of range; the value converted has been clamped. .El +.Sh LEGACY SYNOPSIS +.Fd #include <stdlib.h> +.Fd #include <limits.h> +.Pp +.In limits.h +is necessary for the +.Fn strtol +and +.Fn strtoll +functions. .Sh SEE ALSO .Xr atof 3 , .Xr atoi 3 , .Xr atol 3 , .Xr strtod 3 , +.Xr strtol_l 3 , .Xr strtoul 3 , -.Xr wcstol 3 +.Xr wcstol 3 , +.Xr compat 5 .Sh STANDARDS The .Fn strtol |