X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Fcurs_scanw.3x.html;h=84fdec5d734268e304878fc9fe9ebc2213c75f4f;hb=8f6d94b8d6211a2323caef53fa4c96c475ec9a62;hp=1fb1ba9ed2950dfcf56671159fb81b90253ed094;hpb=c633e5103a29a38532cf1925257b91cea33fd090;p=ncurses.git diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html index 1fb1ba9e..84fdec5d 100644 --- a/doc/html/man/curs_scanw.3x.html +++ b/doc/html/man/curs_scanw.3x.html @@ -1,78 +1,148 @@ + + +
+ + +- +curs_scanw(3x) curs_scanw(3x) --
- scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con- - vert formatted input from a curses window --
- #include <curses.h> - int scanw(char *fmt [, arg] ...); - int wscanw(WINDOW *win, char *fmt [, arg] ...); - int mvscanw(int y, int x, char *fmt [, arg] ...); - int mvwscanw(WINDOW *win, int y, int x, - char *fmt [, arg] ...); - int vw_scanw(WINDOW *win, char *fmt, va_list varglist); - int vwscanw(WINDOW *win, char *fmt, va_list varglist); +
+ scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - convert formatted + input from a curses window --
- The scanw, wscanw and mvscanw routines are analogous to - scanf [see scanf(3S)]. 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. +
+ #include <curses.h> - The vwscanw routine is similar to vwprintw in that it per- - forms a wscanw using a variable argument list. The third - argument is a va_list, a pointer to a list of arguments, - as defined in <varargs.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); --
- 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. +
+ 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>. --
- 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. +
+ vwscanw returns ERR on failure and an integer equal to the number of + fields scanned on success. --
- curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3S) + 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: + + o The XSI Curses standard, Issue 4 described these functions, noting + that the function vwscanw is marked TO BE WITHDRAWN, and is to be + replaced by a function vw_scanw using the <stdarg.h> interface. + + o 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>. + o X/Open Curses, Issue 5 (December 2007) marked vwscanw (along with + vwprintw and the termcap interface) as withdrawn. + Both XSI and The Single Unix Specification, Version 2 state that these + functions return ERR or OK. + o 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. + o This implementation returns the number of items scanned, for com- + patibility with SVr4 curses. As of 2018, NetBSD curses also + returns the number of items scanned. Both ncurses and NetBSD + curses call vsscanf to scan the string, which returns EOF on error. + o 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" con- + version at the end of the format string to ensure that something + was processed. +
+ curses(3x), curs_getstr(3x), curs_printw(3x), curs_termcap(3x), + scanf(3). + curs_scanw(3x)-