User Tools

Site Tools




add_wch, mvadd_wch, mvwadd_wch, wadd_wch - add a complex character (with rendition) to a window


cc [ flag… ] file-I /usr/xpg4/include -L /usr/xpg4/lib \
/usr/xpg4/lib -lcurses [ library… ]

c89 [ flag… ] file-lcurses [ library … ]

#include <curses.h>

int add_wch(const cchar_t *wch);

int wadd_wch(WINDOW *win, const cchar_t *wch);

int mvadd_wch(int y, int x, const cchar_t *wch);

int mvwadd_wch(WINDOW *win, int y, int x, const cchar_t *wch);


The add_wch() function writes a complex character to the stdscr window at the current cursor position. The mvadd_wch() and mvwadd_wch() functions write the character to the position indicated by the x (column) and y (row) parameters. The mvadd_wch() function writes the character to the stdscr window, while mvwadd_wch() writes the character to the window specified by win. The wadd_wch() function is identical to add_wch(), but writes the character to the window specified by win. These functions advance the cursor after writing the character.

If wch is a spacing complex character, X/Open Curses replaces any previous character at the specified location with wch (and its rendition). If wch is a non-spacing complex character, X/Open Curses preserves all existing characters at the specified location and adds the non-spacing characters of wch to the spacing complex character. It ignores the rendition associated with wch.

Characters that do not fit on the end of the current line are wrapped to the beginning of the next line unless the current line is the last line of the window and scrolling is disabled. In that situation, X/Open Curses discards characters which extend beyond the end of the line.

When wch is a backspace, carriage return, newline, or tab, X/Open Curses moves the cursor appropriately as described in the curses(3XCURSES) man page. Each tab character moves the cursor to the next tab stop. By default, tab stops occur every eight columns. When wch is a control character other than a backspace, carriage return, newline, or tab, it is written using ^x notation, where x is a printable character. When X/Open Curses writes wch to the last character position on a line, it automatically generates a newline. When wch is written to the last character position of a scrolling region and scrollok() is enabled, X/Open Curses scrolls the scrolling region up one line (see clearok(3XCURSES)).



Is the character/attribute pair (rendition) to be written to the window.


Is a pointer to the window in which the character is to be written.


Is the y (row) coordinate of the character’s position in the window.


Is the x (column) coordinate of the character’s position in the window.


On success, these functions return OK. Otherwise, they return ERR.




See attributes(7) for descriptions of the following attributes:


attr_off(3XCURSES), bkgrndset(3XCURSES), curses(3XCURSES), doupdate(3XCURSES), in_wch(3XCURSES), ins_wch(3XCURSES), libcurses(3XCURSES), nl(3XCURSES), printw(3XCURSES), scrl(3XCURSES), scrollok(3XCURSES), setscrreg(3XCURSES), terminfo(5), attributes(7), standards(7)

solaris/add_wch.3xcurses.txt · Last modified: 2023/07/19 08:57 by A User Not Logged in