---
name: "addchstr"
section: "3ncurses"
platform: "linux"
package: "ncurses-doc"
version: "6.5+20250216-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/addchstr/3ncurses"
---

# addchstr(3ncurses)

add a curses character string to a window

## NAME

**addchstr**, **waddchstr**, **mvaddchstr**, **mvwaddchstr**, **addchnstr**, **waddchnstr**, **mvaddchnstr**, **mvwaddchnstr** - add a *curses* character string to a window

## SYNOPSIS

```
#include <curses.h>
```

**int addchstr(const chtype \*** *chstr***);** **int waddchstr(WINDOW \*** *win***, const chtype \*** *chstr***);** **int mvaddchstr(int** *y***, int** *x***, const chtype \*** *chstr***);** **int mvwaddchstr(WINDOW \*** *win***, int** *y***, int** *x***,**\
       **const chtype \*** *chstr***);**

**int addchnstr(const chtype \*** *chstr***, int** *n***);** **int waddchnstr(WINDOW \*** *win***, const chtype \*** *chstr***, int** *n***);** **int mvaddchnstr(int** *y***, int** *x***, const chtype \*** *chstr***, int** *n***);** **int mvwaddchnstr(WINDOW \*** *win***, int** *y***, int** *x***,**\
       **const chtype \*** *chstr***, int** *n***);**

## DESCRIPTION

**waddchstr** **copies the string of** *curses* **characters** *chstr* **to the window** *win*. **A null** *curses* **character terminates the string.** **waddchnstr** **does the same,** **but copies at most** *n* **characters,** **or as many as possible if** *n* **is** **-1**. **ncurses(3NCURSES) describes the variants of these functions.**

**Because these functions do not call waddch(3NCURSES) internally,** **they are faster than waddstr(3NCURSES) and waddnstr(3NCURSES).** **On the other hand,** **they**

- •

  **do not treat the backspace,** **carriage return,** **or line feed characters specially;**

- •

  **do not represent unprintable characters with unctrl(3NCURSES);**

- •

  **do not update the cursor position to follow the last character written;**

- •

  **truncate the string at the window's right margin,** **rather than wrapping it to the next line and potentially scrolling.**

## RETURN VALUE

**These functions return** **OK** **on success and** **ERR** **on failure.**

**In** *ncurses*, **they return** **ERR** **if**

- •

  *win* **is** *NULL* **or**

- •

  *chstr* **is** *NULL*.

**Functions prefixed with “mv” first perform cursor movement and** **fail if the position** (*y*, *x*) **is outside the window boundaries.**

## NOTES

**All of these functions except** **waddchnstr** **may be implemented as macros.**

## PORTABILITY

**X/Open Curses Issue 4 describes these functions.** **It specifies no error conditions for them.**

**SVr4 describes a successful return value only as** **“an integer value other than** *ERR*”.

## HISTORY

**SVr3.1 (1987)** **introduced these functions.**

## SEE ALSO

**add\_wchstr(3NCURSES) describes comparable functions of the** *ncurses* **library in its wide-character configuration** (*ncursesw*).

**ncurses(3NCURSES),** **addch(3NCURSES),** **addstr(3NCURSES)**
