# curs_printw 3x

    curs_printw(3x)                                                curs_printw(3x)

## NAME

           printw, wprintw, mvprintw, mvwprintw, vwprintw, vw_printw - print
           formatted output in curses windows

## SYNOPSIS

           #include <curses.h>

           int printw(const char *fmt, ...);
           int wprintw(WINDOW *win, const char *fmt, ...);
           int mvprintw(int y, int x, const char *fmt, ...);
           int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);
           int vw_printw(WINDOW *win, const char *fmt, va_list varglist);

           /* obsolete */
           int vwprintw(WINDOW *win, const char *fmt, va_list varglist);

## DESCRIPTION

           The printw, wprintw, mvprintw and mvwprintw routines are  analogous  to
           printf  [see printf(3)].  In effect, the string that would be output by
           printf is output instead as though waddstr were used on the given  win-
           dow.

           The  vwprintw  and  wv_printw  routines  are  analogous to vprintf [see
           printf(3)] and perform a wprintw using a variable argument  list.   The
           third  argument  is a va_list, a pointer to a list of arguments, as de-
           fined in <stdarg.h>.

## RETURN VALUE

           Routines that return an integer return ERR upon failure  and  OK  (SVr4
           only  specifies "an integer value other than ERR") upon successful com-
           pletion.

           X/Open defines no error conditions.  In this implementation,  an  error
           may be returned if it cannot allocate enough memory for the buffer used
           to format the results.  It will return an error if the  window  pointer
           is null.

           Functions  with  a  "mv"  prefix  first perform a cursor movement using
           wmove, and return an error if the position is outside the window, or if
           the window pointer is null.

## PORTABILITY

           In  this implementation, vw_printw and vwprintw are equivalent, to sup-
           port legacy applications.  However, the latter (vwprintw) is obsolete:

           o   The XSI Curses standard, Issue 4 described  these  functions.   The
               function  vwprintw is marked TO BE WITHDRAWN, and is to be replaced
               by a function vw_printw using the <stdarg.h> interface.

           o   The Single Unix Specification, Version 2 states that vw_printw   is
               preferred   to   vwprintw   since  the  latter  requires  including
               <varargs.h>, which cannot be used in the same file  as  <stdarg.h>.
               This  implementation  uses <stdarg.h> for both, because that header
               is included in <curses.h>.

           o   X/Open Curses, Issue 5 (December 2007) marked vwprintw (along  with
               vwscanw and the termcap interface) as withdrawn.

## SEE ALSO

           curses(3x), curs_addstr(3x), curs_scanw(3x), curs_termcap(3x),
           printf(3), vprintf(3).

                                                                   curs_printw(3x)