curs_getstr 3x

curs_getstr(3x)                                         curs_getstr(3x)




名前

       getstr, getnstr, wgetstr, wgetnstr, mvgetstr, mvgetnstr,
       mvwgetstr, mvwgetnstr 
       - curses 端末キーボードから文字列を受け取る


書式

       #include <curses.h>

       int getstr(char *str);
       int getnstr(char *str, int n);
       int wgetstr(WINDOW *win, char *str);
       int wgetnstr(WINDOW *win, char *str, int n);
       int mvgetstr(int y, int x, char *str);
       int mvwgetstr(WINDOW *win, int y, int x, char *str);
       int mvgetnstr(int y, int x, char *str, int n);
       int mvwgetnstr(WINDOW *, int y, int x, char *str, int n);


説明

        getstr 関数は、改行文字または復帰文字を受け取るまで、
       繰り返して getch を呼び出すことと等価です。(終端の文字は
       結果の文字列に含まれません。)
        結果の値は文字列ポインタ str の指す領域に格納されます。

        wgetnstr は最大 n 文字だけを読むので、入力バッファの
       オーバーフローを防ぎます。
        (終端の改行か復帰を除いて) それ以上の文字を
       入力しようとすると警報音 (ビープ音) が発生します。
        ファンクションキーは警報音を発生させて無視されます。
        getnstr 関数は、デフォルト・ウインドウ stdscr から
       読み込みます。

        ユーザの (端末で指定された) 消去文字 (erase) と
       行削除文字 (kill) は解釈されます。
        ウインドウでキーパッド・モードが有効な場合、KEY_LEFTKEY_BACKSPACE はともにユーザの行削除文字と同じと
       みなされます。

        入力文字は、echo が現在有効な場合にのみエコーされます。
       その場合、バックスペースは前の文字の削除としてエコーされます 
       (一般的に左への移動)。


戻り値

        すべてのルーチンは失敗のとき整数 ERR を、正常終了のとき OK 
       (SVr4 は「ERR 以外の整数値」としか指定していません) 
       を返します。

        X/Open はエラーの条件を何も定義していません。

        この実装では、これらの関数はウインドウ・ポインタが
       ヌルのとき、または何もデータがないままタイムアウトした場合に、
       エラーを返します。

        この実装はさらに拡張機能も提供しています。
        SIGWINCH が関数に割り込むと、OKERR でなく KEY_RESIZE を
       返します。

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

注意

        getstr, mvgetstr, mvwgetstr はマクロであるかもしれないことに
       注意してください。
       訳注: getnstr, wgetstr, mvgetnstr, mvwgetnstr もマクロです。


移植性

        これらの関数は XSI Curses standard, Issue 4 に記載されて
       います。
        これらの関数は 1 バイト文字しか読みません。
        そこ (XSI) ではエラーの条件を何も定義していません。
        この実装では、ウインドウ・ポインタがヌルのとき、または
       低レベルの wgetch 呼び出しが ERR を返したときに ERR を
       返します。

        SVr3 と初期の SVr4 の curses の実装は、ファンクションキーを
       拒絶しませんでした。SVr4.0 の説明書は、詳細には触れずに、
       「特殊キー」(ファンクションキー、home キー、clear キーなど) を
       「解釈する」と主張していました。
        それは嘘でした。
        実際には、それらの実装で文字列に追加される「文字」の値は
       予測可能でしたが、有用ではありません (実際にはキーの KEY_ 値の
       下位 8 ビットなので)。

        関数 getnstr, mvgetnstr, mvwgetnstr は SVr4 に
       存在しましたが、明記されていませんでした。


関連項目

       curses(3x), curs_getch(3x), curs_variables(3x).

       訳注: echo, keypadcurs_inopts(3x) を参照。
        シグナル SIGWINCH は curs_initscr(3x) 等を参照。
        ワイド文字を扱う対応する関数群は curs_get_wstr(3x) で
        説明しています。



                                                        curs_getstr(3x)