| 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:
|
|---|