Provided by: ncurses-doc_6.1-1ubuntu1.18.04.1_all bug

NAME

       scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - convert formatted input from a curses window

SYNOPSIS

       #include <curses.h>

       int scanw(char *fmt, ...);
       int wscanw(WINDOW *win, char *fmt, ...);
       int mvscanw(int y, int x, char *fmt, ...);
       int mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);
       int vw_scanw(WINDOW *win, char *fmt, va_list varglist);
       int vwscanw(WINDOW *win, char *fmt, va_list varglist);

DESCRIPTION

       The  scanw,  wscanw  and  mvscanw  routines  are  analogous to scanf [see scanf(3)].  The effect of these
       routines is as though wgetstr were called on the window,  and  the  resulting  line  used  as  input  for
       sscanf(3).  Fields which do not map to a variable in the fmt field are lost.

       The  vwscanw  and  vw_scanw  routines are analogous to vscanf(3).  They perform a wscanw using a variable
       argument list.  The third argument is a va_list, a  pointer  to  a  list  of  arguments,  as  defined  in
       <stdarg.h>.

RETURN VALUE

       vwscanw returns ERR on failure and an integer equal to the number of fields scanned on success.

       Applications  may use the return value from the scanw, wscanw, mvscanw and mvwscanw routines to determine
       the number of fields which were mapped in the call.

       Functions with a "mv" prefix first perform a cursor movement using wmove, and  return  an  error  if  the
       position is outside the window, or if the window pointer is null.

PORTABILITY

       The  XSI  Curses  standard,  Issue  4  describes  these  functions.  The function vwscanw is marked TO BE
       WITHDRAWN, and is to be replaced by a function vw_scanw using the <stdarg.h> interface.  The Single  Unix
       Specification,  Version  2  states  that  vw_scanw   is  preferred  to  vwscanw since the latter requires
       including <varargs.h>, which cannot be used in the same file as  <stdarg.h>.   This  implementation  uses
       <stdarg.h> for both, because that header is included in <curses.h>.

       Both XSI and The Single Unix Specification, Version 2 state that these functions return ERR or OK.  Since
       the underlying scanf(3) can return the number of items scanned, and the SVr4 code was documented  to  use
       this  feature,  this  is  probably  an  editing error which was introduced in XSI, rather than being done
       intentionally.  Portable applications should only test if the return value is ERR,  since  the  OK  value
       (zero)  is  likely  to  be  misleading.   One  possible  way to get useful results would be to use a "%n"
       conversion at the end of the format string to ensure that something was processed.

SEE ALSO

       ncurses(3NCURSES), getstr(3NCURSES), printw(3NCURSES), scanf(3)

                                                                                                 scanw(3NCURSES)