https://invisible-island.net/ncurses/man/
curs_in_wchstr(3x) Library calls curs_in_wchstr(3x)
in_wchstr, in_wchnstr, win_wchstr, win_wchnstr, mvin_wchstr,
mvin_wchnstr, mvwin_wchstr, mvwin_wchnstr - get a curses complex
character string from a window
#include <curses.h>
int in_wchstr(cchar_t * wchstr);
int win_wchstr(WINDOW * win, cchar_t * wchstr);
int mvin_wchstr(int y, int x, cchar_t * wchstr);
int mvwin_wchstr(WINDOW * win, int y, int x, cchar_t * wchstr);
int in_wchnstr(cchar_t * wchstr, int n);
int win_wchnstr(WINDOW * win, cchar_t * wchstr, int n);
int mvin_wchnstr(int y, int x, cchar_t * wchstr, int n);
int mvwin_wchnstr(WINDOW * win, int y, int x, cchar_t * wchstr, int n)
win_wchstr extracts a curses complex character string from a curses
window win, starting at the cursor and stopping at the end of the line,
and stores it in wchstr, terminating it with a wide null curses
character. win_wchnstr does the same, but copies at most n curses
complex characters from win. A negative n implies no limit;
win_wchnstr then works like win_wchstr. ncurses(3x) describes the
variants of these functions.
These functions return OK on success and ERR on failure.
In ncurses, these functions fail if
o the curses screen has not been initialized,
o (for functions taking a WINDOW pointer argument) win is a null
pointer, or
o wchstr is a null pointer.
Functions prefixed with "mv" first perform cursor movement and fail if
the position (y, x) is outside the window boundaries.
All of these functions except win_wchnstr may be implemented as macros.
Reading a line that overflows the array pointed to by wchstr and its
variants causes undefined results. Instead, use the n-infixed
functions with a positive n argument no larger than the size of the
buffer backing wchstr.
X/Open Curses Issue 4 describes these functions. It specifies no error
conditions for them.
X/Open Curses Issue 4 (1995) initially specified these functions. The
System V Interface Definition Version 4 of the same year specified a
function named winwchstr (and the usual variants). This was a later
addition to SVr4.x, not appearing in the first SVr4 (1989). It
differed from X/Open's later win_wchstr in that it took an argument of
type pointer-to-chtype instead of pointer-to-cchar_t.
curs_inchstr(3x) describes comparable functions of the ncurses library
in its non-wide-character configuration.
curses(3x), curs_inwstr(3x), curs_in_wch(3x)
ncurses 6.5 2025-10-20 curs_in_wchstr(3x)