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
       - curses ウインドウからの書式つき入力の変換


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.
        scanw, wscanw, mvscanw ルーチンは scanf に類似した
       ルーチンです。[scanf(3) 参照]
        実際には、これらのルーチンは、そのウインドウで wgetstr が
       呼び出され、結果の行を sscanf(3) の入力に用いたように
       なります。
        fmt フィールドで変数に対応付けられていないフィールドは
       失われます。

       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, vw_scanw ルーチンは vscanf に類似したルーチンです。
        これらは可変引数リストを使って wscanw を実行します。
        第 3 引数は引数リストへのポインタで、<stdarg.h> で
       定義されている va_list 型です。


RETURN VALUE 戻り値

       vwscanw returns ERR on failure and an integer equal to the
       number of fields scanned on success.
        vwscanw は失敗のとき ERR を、成功のとき読み取った
       フィールドの数に等しい整数を返します。

       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.
        アプリケーションは呼び出しで代入されたフィールドの数を
       判定するために scanw, wscanw, mvscanw, mvwscanw ルーチンの
       戻り値を使うことができます。

       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.
         mv で始まる関数は、最初に wmove を使用してカーソルを移動し、
       位置がウインドウの外だった場合、またはウインドウ・ポインタが
       ヌルの場合にエラーを返します。


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>.
        これらの関数は XSI Curses standard, Issue 4 に記載されて
       います。
        vwscanw 関数は廃止項目と注記されており、
       <stdarg.h> インターフェイスを使った vw_scanw 関数によって
       置き換えられるでしょう。
        Single Unix Specification, Version 2 は、<stdarg.h> と
       同じファイルで使うことができない <varargs.h> を取り込む必要が
       ある vwscanw よりも vw_scanw が適していると明記しています。
        この実装では両方に <stdarg.h> を使っています。
       このヘッダファイルが <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.
        XSI と Single Unix Specification, Version 2 はともに、
       これらの関数は ERR または OK を返すと明記しています。
        元となった scanf は代入した項目の数を返せますし、
       SVr4 のコードはこの機能を使うと説明されているので、
       これはおそらく XSI に導入された編集上の誤りであって、
       意図的なものではないでしょう。
        ポータブル・アプリケーションは戻り値が ERR かどうかだけを
       調べるべきです。OK 値 (ゼロ) は誤解を招きそうだからです。
        意味のある結果を得るためにできる 1 つの手段は、
       書式文字列の最後に "%n" 変換を使って、何かが処理されたことを
       確かめることでしょう。


SEE ALSO 関連項目

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



                                                         curs_scanw(3x)