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)