X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_scanw.3x.html;h=6041d671defad0e41d066fe5f6ad07b562d3b569;hp=1fb1ba9ed2950dfcf56671159fb81b90253ed094;hb=027ae42953e3186daed8f3882da73de48291b606;hpb=c633e5103a29a38532cf1925257b91cea33fd090 diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html index 1fb1ba9e..6041d671 100644 --- a/doc/html/man/curs_scanw.3x.html +++ b/doc/html/man/curs_scanw.3x.html @@ -1,73 +1,124 @@ + + +
++curs_scanw(3x) curs_scanw(3x) + + +
- scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con- - vert formatted input from a curses window + scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con- + vert formatted input from a curses window
- #include <curses.h> + #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); + 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);
- 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. + 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. - 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>. + 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>.
- vwscanw returns ERR on failure and an integer equal to the + 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 + 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 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. + 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.
- curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3S) - - - - - - - - + curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3S) + curs_scanw(3x)