curs_insstr(3x) curs_insstr(3x)
insstr, insnstr, winsstr, winsnstr, mvinsstr, mvinsnstr,
mvwinsstr, mvwinsnstr
- curses ウインドウのカーソルの前に文字列を挿入する
#include <curses.h>
int insstr(const char *str);
int insnstr(const char *str, int n);
int winsstr(WINDOW *win, const char *str);
int winsnstr(WINDOW *win, const char *str, int n);
int mvinsstr(int y, int x, const char *str);
int mvinsnstr(int y, int x, const char *str, int n);
int mvwinsstr(WINDOW *win, int y, int x, const char *str);
int mvwinsnstr(WINDOW *win, int y, int x, const char *str,
int n);
これらのルーチンはカーソル位置にある文字の前に文字列を
(行に入る限りの文字を) 挿入します。
カーソルの右側にあるすべての文字は右へ移動され、行の右端側の
文字は失われることがあります。
(指定されていれば、y, x へ移動した後) カーソルの位置は
変化しません。
最後の引数に n を取る関数は、先頭から最大 n 文字の
部分文字列を挿入します。
n<=0 の場合は文字列全体を挿入します。
特殊文字は addch と同じように扱います。
(訳注: curs_addch(3x) 参照)
上のルーチン説明で特記がない限り、整数を返すすべての
ルーチンは、失敗のとき ERR を、正常終了のとき OK (SVr4 は
「ERR 以外の整数値」としか指定していません) を返します。
X/Open はエラーの条件を何も定義していません。
この実装では、ウインドウ引数がヌルのとき、または
str 引数がヌルのときにエラーを返します。
mv で始まる関数は、最初に wmove を使用してカーソルを移動し、
位置がウインドウの外だった場合、またはウインドウ・ポインタが
ヌルの場合にエラーを返します。
winsnstr 以外のすべてのルーチンはマクロであるかもしれない
ことに注意してください。
これらの関数は引数に const 修飾子をつけて
XSI Curses standard, Issue 4 に記載されています。
Single Unix Specification, Version 2 は insnstr と
winsnstr は行の折り返しをすると明記しています。
これはこのグループの関数と矛盾するので誤りだと思われます。
また、この矛盾について記述した curses の実装はありません。
curses(3x), curs_util(3x), curs_clear(3x), curs_inch(3x).
curs_insstr(3x)