ins_wstr, wins_wstr, mvins_wstr, mvwins_wstr, ins_nwstr, wins_nwstr, mvins_nwstr, mvwins_nwstr - insert a
Contents
Description
wins_wstr inserts a wide-character string wstr before the character at the cursor in window win as if by
calling wins_wch(3NCURSES) for each wchar_t in wstr. No line wrapping is performed. Characters to the
right of the cursor are shifted right; those at the right edge of the window may be lost. wins_wstr
stops inserting if it would have to wrap to the next line to write the next wchar_t in wstr. The cursor
position does not change (after moving to (y, x), if specified). wins_nwstr does the same, but inserts
at most n characters, or as many as possible (up to the end of the line) if n is negative.
ncurses(3NCURSES) describes the variants of these functions.
Extensions
ins_nwstr, wins_nwstr, mvins_nwstr, and mvwins_nwstr's acceptance of negative n values is an ncurses
extension.
History
X/Open Curses Issue 4 (1995) initially specified these functions. The System V Interface Definition
Version 4 (1995), specified functions named winswstr and winsnwstr (and the usual variants). These were
later additions to SVr4.x, not appearing in the first SVr4 (1989). They differ from X/Open's later
wins_wstr and wins_nwstr in that their wstr parameters are not const-qualified.
Name
ins_wstr, wins_wstr, mvins_wstr, mvwins_wstr, ins_nwstr, wins_nwstr, mvins_nwstr, mvwins_nwstr - insert a
wide-character string in a curses window
Notes
All of these functions except wins_nwstr may be implemented as macros.
Portability
Applications employing ncurses extensions should condition their use on the visibility of the
NCURSES_VERSION preprocessor macro.
X/Open Curses Issue 4 describes these functions. It specifies no error conditions for them.
X/Open Curses does not specify what happens if a non-spacing character follows a control character.
Issue 4 states that the entire string is inserted if n is less than 1. This is probably an error,
because it is inconsistent with other functions such as waddwstr, and differs from the SVr4 curses and
Solaris xcurses implementations. Nevertheless, Issue 7 retains the language.
Return Value
These functions return OK on success and ERR on failure.
In ncurses, they return ERR if
• win is NULL,
• wstr is NULL,
• the first wide character in wstr is a non-spacing character, or
• an internal wins_wch(3NCURSES) call returns ERR.
Functions prefixed with “mv” first perform cursor movement and fail if the position (y, x) is outside the
window boundaries.
See Also
insstr(3NCURSES) describes comparable functions of the ncurses library in its non-wide-character configuration. ncurses(3NCURSES), ins_wch(3NCURSES), in_wch(3NCURSES) ncurses 6.5 2025-02-01 ins_wstr(3NCURSES)
Synopsis
#include<curses.h>intins_wstr(constwchar_t*wstr);intwins_wstr(WINDOW*win,constwchar_t*wstr);intmvins_wstr(inty,intx,constwchar_t*wstr);intmvwins_wstr(WINDOW*win,inty,intx,constwchar_t*wstr);intins_nwstr(constwchar_t*wstr,intn);intwins_nwstr(WINDOW*win,constwchar_t*wstr,intn);intmvins_nwstr(inty,intx,constwchar_t*wstr,intn);intmvwins_nwstr(WINDOW*win,inty,intx,constwchar_t*wstr,intn);
