summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/scanf.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/stdio/scanf.3')
-rw-r--r--lib/libc/stdio/scanf.3439
1 files changed, 0 insertions, 439 deletions
diff --git a/lib/libc/stdio/scanf.3 b/lib/libc/stdio/scanf.3
deleted file mode 100644
index a9bbc41..0000000
--- a/lib/libc/stdio/scanf.3
+++ /dev/null
@@ -1,439 +0,0 @@
-.\" Copyright (c) 1990, 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" Chris Torek and the American National Standards Committee X3,
-.\" on Information Processing Systems.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)scanf.3 8.2 (Berkeley) 12/11/93
-.\"
-.Dd December 11, 1993
-.Dt SCANF 3
-.Os
-.Sh NAME
-.Nm scanf ,
-.Nm fscanf ,
-.Nm sscanf ,
-.Nm vscanf ,
-.Nm vsscanf ,
-.Nm vfscanf
-.Nd input format conversion
-.Sh SYNOPSIS
-.Fd #include <stdio.h>
-.Ft int
-.Fn scanf "const char *format" ...
-.Ft int
-.Fn fscanf "FILE *stream" "const char *format" ...
-.Ft int
-.Fn sscanf "const char *str" "const char *format" ...
-.Fd #include <stdarg.h>
-.Ft int
-.Fn vscanf "const char *format" "va_list ap"
-.Ft int
-.Fn vsscanf "const char *str" "const char *format" "va_list ap"
-.Ft int
-.Fn vfscanf "FILE *stream" "const char *format" "va_list ap"
-.Sh DESCRIPTION
-The
-.Fn scanf
-family of functions scans input according to a
-.Fa format
-as described below.
-This format may contain
-.Em conversion specifiers ;
-the results from such conversions, if any,
-are stored through the
-.Em pointer
-arguments.
-The
-.Fn scanf
-function
-reads input from the standard input stream
-.Em stdin ,
-.Fn fscanf
-reads input from the stream pointer
-.Fa stream ,
-and
-.Fn sscanf
-reads its input from the character string pointed to by
-.Fa str .
-The
-.Fn vfscanf
-function
-is analogous to
-.Xr vfprintf 3
-and reads input from the stream pointer
-.Fa stream
-using a variable argument list of pointers (see
-.Xr stdarg 3 ) .
-The
-.Fn vscanf
-function scans a variable argument list from the standard input and
-the
-.Fn vsscanf
-function scans it from a string;
-these are analogous to
-the
-.Fn vprintf
-and
-.Fn vsprintf
-functions respectively.
-Each successive
-.Em pointer
-argument must correspond properly with
-each successive conversion specifier
-(but see `suppression' below).
-All conversions are introduced by the
-.Cm %
-(percent sign) character.
-The
-.Fa format
-string
-may also contain other characters.
-White space (such as blanks, tabs, or newlines) in the
-.Fa format
-string match any amount of white space, including none, in the input.
-Everything else
-matches only itself.
-Scanning stops
-when an input character does not match such a format character.
-Scanning also stops
-when an input conversion cannot be made (see below).
-.Sh CONVERSIONS
-Following the
-.Cm %
-character introducing a conversion
-there may be a number of
-.Em flag
-characters, as follows:
-.Bl -tag -width indent
-.It Cm *
-Suppresses assignment.
-The conversion that follows occurs as usual, but no pointer is used;
-the result of the conversion is simply discarded.
-.It Cm h
-Indicates that the conversion will be one of
-.Cm dioux
-or
-.Cm n
-and the next pointer is a pointer to a
-.Em short int
-(rather than
-.Em int ) .
-.It Cm l
-Indicates either that the conversion will be one of
-.Cm dioux
-or
-.Cm n
-and the next pointer is a pointer to a
-.Em long int
-(rather than
-.Em int ) ,
-or that the conversion will be one of
-.Cm efg
-and the next pointer is a pointer to
-.Em double
-(rather than
-.Em float ) .
-.It Cm L
-Indicates that the conversion will be
-.Cm efg
-and the next pointer is a pointer to
-.Em long double .
-(This type is not implemented; the
-.Cm L
-flag is currently ignored.)
-.It Cm q
-Indicates either that the conversion will be one of
-.Cm dioux
-or
-.Cm n
-and the next pointer is a pointer to a
-.Em long long int
-(rather than
-.Em int ) ,
-.El
-.Pp
-In addition to these flags,
-there may be an optional maximum field width,
-expressed as a decimal integer,
-between the
-.Cm %
-and the conversion.
-If no width is given,
-a default of `infinity' is used (with one exception, below);
-otherwise at most this many characters are scanned
-in processing the conversion.
-Before conversion begins,
-most conversions skip white space;
-this white space is not counted against the field width.
-.Pp
-The following conversions are available:
-.Bl -tag -width XXXX
-.It Cm %
-Matches a literal `%'.
-That is, `%\&%' in the format string
-matches a single input `%' character.
-No conversion is done, and assignment does not occur.
-.It Cm d
-Matches an optionally signed decimal integer;
-the next pointer must be a pointer to
-.Em int .
-.It Cm D
-Equivalent to
-.Cm ld ;
-this exists only for backwards compatibility.
-.It Cm i
-Matches an optionally signed integer;
-the next pointer must be a pointer to
-.Em int .
-The integer is read in base 16 if it begins
-with
-.Ql 0x
-or
-.Ql 0X ,
-in base 8 if it begins with
-.Ql 0 ,
-and in base 10 otherwise.
-Only characters that correspond to the base are used.
-.It Cm o
-Matches an octal integer;
-the next pointer must be a pointer to
-.Em unsigned int .
-.It Cm O
-Equivalent to
-.Cm lo ;
-this exists for backwards compatibility.
-.It Cm u
-Matches an optionally signed decimal integer;
-the next pointer must be a pointer to
-.Em unsigned int .
-.It Cm x
-Matches an optionally signed hexadecimal integer;
-the next pointer must be a pointer to
-.Em unsigned int .
-.It Cm X
-Equivalent to
-.Cm lx ;
-this violates the
-.St -ansiC ,
-but is backwards compatible with previous
-.Ux
-systems.
-.It Cm f
-Matches an optionally signed floating-point number;
-the next pointer must be a pointer to
-.Em float .
-.It Cm e
-Equivalent to
-.Cm f .
-.It Cm g
-Equivalent to
-.Cm f .
-.It Cm E
-Equivalent to
-.Cm lf ;
-this violates the
-.St -ansiC ,
-but is backwards compatible with previous
-.Ux
-systems.
-.It Cm F
-Equivalent to
-.Cm lf ;
-this exists only for backwards compatibility.
-.It Cm s
-Matches a sequence of non-white-space characters;
-the next pointer must be a pointer to
-.Em char ,
-and the array must be large enough to accept all the sequence and the
-terminating
-.Dv NUL
-character.
-The input string stops at white space
-or at the maximum field width, whichever occurs first.
-.It Cm c
-Matches a sequence of
-.Em width
-count
-characters (default 1);
-the next pointer must be a pointer to
-.Em char ,
-and there must be enough room for all the characters
-(no terminating
-.Dv NUL
-is added).
-The usual skip of leading white space is suppressed.
-To skip white space first, use an explicit space in the format.
-.It Cm \&[
-Matches a nonempty sequence of characters from the specified set
-of accepted characters;
-the next pointer must be a pointer to
-.Em char ,
-and there must be enough room for all the characters in the string,
-plus a terminating
-.Dv NUL
-character.
-The usual skip of leading white space is suppressed.
-The string is to be made up of characters in
-(or not in)
-a particular set;
-the set is defined by the characters between the open bracket
-.Cm [
-character
-and a close bracket
-.Cm ]
-character.
-The set
-.Em excludes
-those characters
-if the first character after the open bracket is a circumflex
-.Cm ^ .
-To include a close bracket in the set,
-make it the first character after the open bracket
-or the circumflex;
-any other position will end the set.
-The hyphen character
-.Cm -
-is also special;
-when placed between two other characters,
-it adds all intervening characters to the set.
-To include a hyphen,
-make it the last character before the final close bracket.
-For instance,
-.Ql [^]0-9-]
-means the set `everything except close bracket, zero through nine,
-and hyphen'.
-The string ends with the appearance of a character not in the
-(or, with a circumflex, in) set
-or when the field width runs out.
-.It Cm p
-Matches a pointer value (as printed by
-.Ql %p
-in
-.Xr printf 3 ) ;
-the next pointer must be a pointer to
-.Em void .
-.It Cm n
-Nothing is expected;
-instead, the number of characters consumed thus far from the input
-is stored through the next pointer,
-which must be a pointer to
-.Em int .
-This is
-.Em not
-a conversion, although it can be suppressed with the
-.Cm *
-flag.
-.El
-.Pp
-For backwards compatibility,
-other conversion characters (except
-.Ql \e0 )
-are taken as if they were
-.Ql %d
-or, if uppercase,
-.Ql %ld ,
-and a `conversion' of
-.Ql %\e0
-causes an immediate return of
-.Dv EOF .
-The
-.Cm F
-and
-.Cm X
-conversions will be changed in the future
-to conform to the
-.Tn ANSI
-C standard,
-after which they will act like
-.Cm f
-and
-.Cm x
-respectively.
-.Pp
-.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,
-no conversions were assigned;
-typically this is due to an invalid input character,
-such as an alphabetic character for a
-.Ql %d
-conversion.
-The value
-.Dv EOF
-is returned if an input failure occurs before any conversion such as an
-end-of-file occurs. If an error or end-of-file occurs after conversion
-has begun,
-the number of conversions which were successfully completed is returned.
-.Sh SEE ALSO
-.Xr getc 3 ,
-.Xr printf 3 ,
-.Xr strtod 3 ,
-.Xr strtol 3 ,
-.Xr strtoul 3
-.Sh STANDARDS
-The functions
-.Fn fscanf ,
-.Fn scanf ,
-and
-.Fn sscanf
-conform to
-.St -ansiC .
-.Sh HISTORY
-The functions
-.Fn vscanf ,
-.Fn vsscanf
-and
-.Fn vfscanf
-are new to this release.
-.Sh BUGS
-The current situation with
-.Cm %F
-and
-.Cm %X
-conversions is unfortunate.
-.Pp
-All of the backwards compatibility formats will be removed in the future.
-.Pp
-Numerical strings are truncated to 512 characters; for example,
-.Cm %f
-and
-.Cm %d
-are implicitly
-.Cm %512f
-and
-.Cm %512d .
OpenPOWER on IntegriCloud