1 | .\"***************************************************************************
|
---|
2 | .\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
|
---|
3 | .\" *
|
---|
4 | .\" Permission is hereby granted, free of charge, to any person obtaining a *
|
---|
5 | .\" copy of this software and associated documentation files (the *
|
---|
6 | .\" "Software"), to deal in the Software without restriction, including *
|
---|
7 | .\" without limitation the rights to use, copy, modify, merge, publish, *
|
---|
8 | .\" distribute, distribute with modifications, sublicense, and/or sell *
|
---|
9 | .\" copies of the Software, and to permit persons to whom the Software is *
|
---|
10 | .\" furnished to do so, subject to the following conditions: *
|
---|
11 | .\" *
|
---|
12 | .\" The above copyright notice and this permission notice shall be included *
|
---|
13 | .\" in all copies or substantial portions of the Software. *
|
---|
14 | .\" *
|
---|
15 | .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
---|
16 | .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
---|
17 | .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
---|
18 | .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
---|
19 | .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
---|
20 | .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
---|
21 | .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
---|
22 | .\" *
|
---|
23 | .\" Except as contained in this notice, the name(s) of the above copyright *
|
---|
24 | .\" holders shall not be used in advertising or otherwise to promote the *
|
---|
25 | .\" sale, use or other dealings in this Software without prior written *
|
---|
26 | .\" authorization. *
|
---|
27 | .\"***************************************************************************
|
---|
28 | .\"
|
---|
29 | .\" $Id: curs_scanw.3x,v 1.12 2002/07/20 15:48:09 tom Exp $
|
---|
30 | .TH curs_scanw 3X ""
|
---|
31 | .SH NAME
|
---|
32 | \fBscanw\fR,
|
---|
33 | \fBwscanw\fR,
|
---|
34 | \fBmvscanw\fR,
|
---|
35 | \fBmvwscanw\fR,
|
---|
36 | \fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window
|
---|
37 | .SH SYNOPSIS
|
---|
38 | \fB#include <curses.h>\fR
|
---|
39 |
|
---|
40 | \fBint scanw(char *fmt, ...);\fR
|
---|
41 | .br
|
---|
42 | \fBint wscanw(WINDOW *win, char *fmt, ...);\fR
|
---|
43 | .br
|
---|
44 | \fBint mvscanw(int y, int x, char *fmt, ...);\fR
|
---|
45 | .br
|
---|
46 | \fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR
|
---|
47 | .br
|
---|
48 | \fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR
|
---|
49 | .br
|
---|
50 | \fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR
|
---|
51 | .SH DESCRIPTION
|
---|
52 | The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to
|
---|
53 | \fBscanf\fR [see \fBscanf\fR(3S)]. The effect of these routines is as though
|
---|
54 | \fBwgetstr\fR were called on the window, and the resulting line used as input
|
---|
55 | for \fBsscanf\fR(3). Fields which do not map to a variable in the \fIfmt\fR
|
---|
56 | field are lost.
|
---|
57 |
|
---|
58 | The \fBvwscanw\fR and \fBvw_scanw\fR routines are analogous to \fBvscanf\fR.
|
---|
59 | They perform a \fBwscanw\fR using a variable argument list.
|
---|
60 | The third argument is a \fIva_list\fR,
|
---|
61 | a pointer to a list of arguments, as defined in \fB<stdarg.h>\fR.
|
---|
62 | .SH RETURN VALUE
|
---|
63 | \fBvwscanw\fR returns \fBERR\fR on failure and an integer equal to the
|
---|
64 | number of fields scanned on success.
|
---|
65 |
|
---|
66 | Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR,
|
---|
67 | \fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields
|
---|
68 | which were mapped in the call.
|
---|
69 | .SH PORTABILITY
|
---|
70 | The XSI Curses standard, Issue 4 describes these functions. The function
|
---|
71 | \fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
|
---|
72 | \fBvw_scanw\fR using the \fB<stdarg.h>\fR interface.
|
---|
73 | The Single Unix Specification, Version 2 states that
|
---|
74 | \fBvw_scanw\fR is preferred to \fBvwscanw\fR since the latter requires
|
---|
75 | including \fB<varargs.h>\fR, which
|
---|
76 | cannot be used in the same file as \fB<stdarg.h>\fR.
|
---|
77 | This implementation uses \fB<stdarg.h>\fR for both, because that header
|
---|
78 | is included in \fB<curses.h\fR>.
|
---|
79 | .LP
|
---|
80 | Both XSI and The Single Unix Specification, Version 2 state that these
|
---|
81 | functions return ERR or OK.
|
---|
82 | Since the underlying \fBscanf\fR can return the number of items scanned,
|
---|
83 | and the SVr4 code was documented to use this feature,
|
---|
84 | this is probably an editing error which was introduced in XSI,
|
---|
85 | rather than being done intentionally.
|
---|
86 | Portable applications should only test if the return value is ERR,
|
---|
87 | since the OK value (zero) is likely to be misleading.
|
---|
88 | One possible way to get useful results would be to use a "%n" conversion
|
---|
89 | at the end of the format string to ensure that something was processed.
|
---|
90 | .SH SEE ALSO
|
---|
91 | \fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S)
|
---|
92 | .\"#
|
---|
93 | .\"# The following sets edit modes for GNU EMACS
|
---|
94 | .\"# Local Variables:
|
---|
95 | .\"# mode:nroff
|
---|
96 | .\"# fill-column:79
|
---|
97 | .\"# End:
|
---|