curs_scanw 3x

curs_scanw(3x)                                           curs_scanw(3x)




NAME

       scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con-
       vert 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  result-
       ing 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.
       They perform a wscanw using a variable argument list.  The
       third argument is a va_list, a pointer to a list of  argu-
       ments, 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  move-
       ment  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  func-
       tions.   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, Ver-
       sion 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 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 applica-
       tions should only test if the return value is  ERR,  since
       the  OK value (zero) is likely to be misleading.  One pos-
       sible 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

       curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3)



                                                         curs_scanw(3x)