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 | --- scanf.3.orig 2008-07-30 01:54:48.000000000 -0700 +++ scanf.3 2008-07-30 02:06:07.000000000 -0700 @@ -40,35 +40,55 @@ .Dt SCANF 3 .Os .Sh NAME -.Nm scanf , .Nm fscanf , +.Nm scanf , .Nm sscanf , +.Nm vfscanf , .Nm vscanf , -.Nm vsscanf , -.Nm vfscanf +.Nm vsscanf .Nd input format conversion .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In stdio.h .Ft int -.Fn scanf "const char * restrict format" ... +.Fo fscanf +.Fa "FILE *restrict stream" +.Fa "const char *restrict format" ... +.Fc .Ft int -.Fn fscanf "FILE * restrict stream" "const char * restrict format" ... +.Fo scanf +.Fa "const char *restrict format" ... +.Fc .Ft int -.Fn sscanf "const char * restrict str" "const char * restrict format" ... +.Fo sscanf +.Fa "const char *restrict s" +.Fa "const char *restrict format" ... +.Fc .In stdarg.h +.In stdio.h .Ft int -.Fn vscanf "const char * restrict format" "va_list ap" +.Fo vfscanf +.Fa "FILE *restrict stream" +.Fa "const char *restrict format" +.Fa "va_list arg" +.Fc .Ft int -.Fn vsscanf "const char * restrict str" "const char * restrict format" "va_list ap" +.Fo vscanf +.Fa "const char *restrict format" +.Fa "va_list arg" +.Fc .Ft int -.Fn vfscanf "FILE * restrict stream" "const char * restrict format" "va_list ap" +.Fo vsscanf +.Fa "const char *restrict s" +.Fa "const char *restrict format" +.Fa "va_list arg" +.Fc .Sh DESCRIPTION The .Fn scanf family of functions scans input according to a -.Fa format +.Fa format , as described below. This format may contain .Em conversion specifiers ; @@ -87,7 +107,8 @@ and .Fn sscanf reads its input from the character string pointed to by -.Fa str . +.Fa s . +.Pp The .Fn vfscanf function @@ -108,7 +129,8 @@ .Fn vprintf and .Fn vsprintf -functions respectively. +functions, respectively. +.Pp Each successive .Em pointer argument must correspond properly with @@ -132,10 +154,16 @@ when an input character does not match such a format character. Scanning also stops when an input conversion cannot be made (see below). +.Pp +Extended locale versions of these functions are documented in +.Xr scanf_l 3 . +See +.Xr xlocale 3 +for more information. .Sh CONVERSIONS Following the .Cm % -character introducing a conversion +character introducing a conversion, there may be a number of .Em flag characters, as follows: @@ -415,7 +443,8 @@ in .Xr printf 3 ) ; the next pointer must be a pointer to -.Vt void . +.Vt "void *" +(or other pointer type). .It Cm n Nothing is expected; instead, the number of characters consumed thus far from the input @@ -440,13 +469,10 @@ causes an immediate return of .Dv EOF . .Sh RETURN VALUES -These -functions -return -the number of input items assigned, which can be fewer than provided -for, or even zero, in the event of a matching failure. -Zero -indicates that, while there was input available, +These functions return the number of input items assigned. +This can be fewer than provided for, or even zero, +in the event of a matching failure. +Zero indicates that, although there was input available, no conversions were assigned; typically this is due to an invalid input character, such as an alphabetic character for a @@ -463,6 +489,7 @@ .Xr getc 3 , .Xr mbrtowc 3 , .Xr printf 3 , +.Xr scanf_l 3 , .Xr strtod 3 , .Xr strtol 3 , .Xr strtoul 3 , @@ -473,7 +500,7 @@ .Fn scanf , .Fn sscanf , .Fn vfscanf , -.Fn vscanf +.Fn vscanf , and .Fn vsscanf conform to |