scanw(3NCURSES) | scanw(3NCURSES) |
scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - convert formatted input from a curses window
#include <curses.h>
int scanw(const char *fmt, ...);
int wscanw(WINDOW *win, const char *fmt, ...);
int mvscanw(int y, int x, const char *fmt, ...);
int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);
int vw_scanw(WINDOW *win, const char *fmt, va_list varglist);
/* obsolete */
int vwscanw(WINDOW *win, const char *fmt, va_list varglist);
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>.
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.
In this implementation, vw_scanw and vwscanw are equivalent, to support legacy applications. However, the latter (vwscanw) is obsolete:
Both XSI and The Single Unix Specification, Version 2 state that these functions return ERR or OK.
ncurses(3NCURSES), getstr(3NCURSES), printw(3NCURSES), curs_termcap(3X), scanf(3).