curs_instr(3x) curs_instr(3x)
instr, innstr, winstr, winnstr, mvinstr, mvinnstr, mvwin- str, mvwinnstr - curses ウインドウから文字列を取得する
#include <curses.h> int instr(char *str); int innstr(char *str, int n); int winstr(WINDOW *win, char *str); int winnstr(WINDOW *win, char *str, int n); int mvinstr(int y, int x, char *str); int mvinnstr(int y, int x, char *str, int n); int mvwinstr(WINDOW *win, int y, int x, char *str); int mvwinnstr(WINDOW *win, int y, int x, char *str, int n);
これらのルーチンは、指定されたウインドウのカーソルの 現在位置から始まる文字列を取り出し、str の中に与えます。 属性は文字から切り捨てられます。 最後の引数に n を取る 4 つの関数は、(終端ヌル NUL を除いて) 先頭から最大 n 文字長の部分文字列を与えます。 訳注: mv で始まるルーチンは移動後のカーソル位置から始めて、 と思われます。
すべての関数は失敗のとき ERR を、または (正常ならば) 実際に 文字列へ読み込んだ文字数を返します。 X/Open はエラーの条件を何も定義していません。 この実装では、ウインドウ引数がヌルのとき、または引数 str が ヌルのとき、ゼロを返します。 mv で始まる関数は、最初に wmove を使用してカーソルを移動し、 位置がウインドウの外だった場合、またはウインドウ・ポインタが ヌルの場合にエラーを返します。
winnstr 以外のすべてのルーチンはマクロであるかもしれない ことに注意してください。
SVr4 は長さの制限値に終端ヌル NUL を含めるかどうかを 明記していません。 ncurses ライブラリは n の負の値を許すように XSI の記述を 拡張しています。 この場合、関数は右マージンで終わる文字列を与えます。 訳注: X/Open Curses Issue 4, Version 2 は、これらの関数が ウインドウからマルチバイト文字列を入力するとしています。 instr, mvinstr, mvwinstr, winstr は正常終了のとき OK を 返すとしています。 また、innstr, mvinnstr, mvwinnstr, winnstr は 1 つの文字に 関連するマルチバイト列の全体だけを読み込み、出力先の配列に 1 つの文字を完全に入れる大きさがないとき、これらの関数は 失敗するとしています。
curses(3x). curs_instr(3x)