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)