The erase and werase routines copy blanks to every position in
the window, clearing the screen.
The clear and wclear routines are like erase and werase, but they
also call clearok, so that the screen is cleared completely on
the next call to wrefresh for that window and repainted from
The clrtobot and wclrtobot routines erase from the cursor to the
end of screen. That is, they erase all lines below the cursor in
the window. Also, the current line to the right of the cursor,
inclusive, is erased.
The clrtoeol and wclrtoeol routines erase the current line to the
right of the cursor, inclusive, to the end of the current line.
Blanks created by erasure have the current background rendition
(as set by wbkgdset) merged into them.
All routines return the integer OK on success and ERR on failure.
X/Open defines no error conditions. In this implementation,
• functions using a window pointer parameter return an error if
it is null
• wclrtoeol returns an error if the cursor position is about to
These functions are described in the XSI Curses standard, Issue
4. The standard specifies that they return ERR on failure, but
specifies no error conditions.
The SVr4.0 manual says that these functions could return "a non-
negative integer if immedok is set", referring to the return-
value of wrefresh. In that implementation, wrefresh would return
a count of the number of characters written to the terminal.
Some historic curses implementations had, as an undocumented
feature, the ability to do the equivalent of clearok(..., 1) by
saying touchwin(stdscr) or clear(stdscr). This will not work
This implementation, and others such as Solaris, sets the current
position to 0,0 after erasing via werase and wclear. That fact
is not documented in other implementations, and may not be true
of implementations which were not derived from SVr4 source.
Not obvious from the description, most implementations clear the
screen after wclear even for a subwindow or derived window. If
you do not want to clear the screen during the next wrefresh, use
This page is part of the ncurses (new curses) project.
Information about the project can be found at
⟨https://www.gnu.org/software/ncurses/ncurses.html⟩. If you have
a bug report for this manual page, send it to
firstname.lastname@example.org. This page was obtained from the
project's upstream Git mirror of the CVS repository
⟨git://ncurses.scripts.mit.edu/ncurses.git⟩ on 2021-06-20. (At
that time, the date of the most recent commit that was found in
the repository was 2021-05-23.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to