curs_inchstr(3x) curs_inchstr(3x)
inchstr, inchnstr, winchstr, winchnstr, mvinchstr, mvinchnstr, mvwinchstr, mvwinchnstr - curses ウインドウから文字列 (と属性) を取得する
#include <curses.h> int inchstr(chtype *chstr); int inchnstr(chtype *chstr, int n); int winchstr(WINDOW *win, chtype *chstr); int winchnstr(WINDOW *win, chtype *chstr, int n); int mvinchstr(int y, int x, chtype *chstr); int mvinchnstr(int y, int x, chtype *chstr, int n); int mvwinchstr(WINDOW *win, int y, int x, chtype *chstr); int mvwinchnstr(WINDOW *win, int y, int x, chtype *chstr, int n);
これらのルーチンは、指定のウインドウのカーソルの現在位置から ウインドウの右端までのひとまとまりの chtype 値を NULL で 終端した配列として与えます。 最後の引数に n を取る 4 つの関数は、先頭から (終端の (chtype)0 を除いて) 最大 n 文字長の部分文字列を与えます。 <curses.h> で定義されている定数と & (論理積 = AND) 演算子を 使うと、chstr 配列内の任意の位置から文字または属性値を単独で 取り出すことができます。 [curs_inch(3x) 参照]
すべてのルーチンは失敗のとき整数 ERR を、正常終了のとき ERR 以外の整数値 (終端の 0 を除く、取得した文字の数) を 返します。 エラーの条件は何も定義されていません。 引数 chstr がヌルの場合は、何もデータを与えず、戻り値は ゼロです。 mv で始まる関数は、最初に wmove を使用してカーソルを移動し、 位置がウインドウの外だった場合、またはウインドウ・ポインタが ヌルの場合にエラーを返します。
winchnstr 以外のルーチンはすべてマクロであるかも しれないことに注意してください。 SVr4 は出力文字列がゼロで終端されるかどうかを 明記していません。 SVr4 は長さ制限引数が終端の 0 を含む値かどうかを 明記していません。 SVr4 は戻り値の意味も明記していません。
これらの関数は XSI Curses standard, Issue 4 に 記載されています。 同書は終端の 0 について、SVr4 の説明より詳しくはありません。 同書は、成功すると関数は OK を返すと指定しています。
curses(3x), curs_inch(3x). ワイド文字用ライブラリ (ncursesw) の対応する関数群は curs_in_wchstr(3x) で説明しています。 curs_inchstr(3x)