---
name: "curs_in_wch"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/curs_in_wch"
---

# curs\_in\_wch(3)

get a curses complex character from a window

## NAME

**in\_wch**, **win\_wch**, **mvin\_wch**, **mvwin\_wch** - get a *curses* complex character from a window

## SYNOPSIS

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

**int in\_wch(cchar\_t \*** *wch***);** **int win\_wch(WINDOW \*** *win***, cchar\_t \*** *wch***);** **int mvin\_wch(int** *y***, int** *x***, cchar\_t \*** *wch***);** **int mvwin\_wch(WINDOW \*** *win***, int** *y***, int** *x***, cchar\_t \*** *wch***);**

## DESCRIPTION

**win\_wch** **copies the** *curses* **complex character at the cursor position in** *win* **into** *wch*. **Use getcchar(3X) to extract its character code,** **attributes,** **and color pair identifier.** **ncurses(3X) describes the variants of this function.**

## RETURN VALUE

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

**In** *ncurses*, **they return** **ERR** **if** *win* **is** *NULL*.

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

## NOTES

**in\_wch**, **mvin\_wch**, **and** **mvwin\_wch** **may be implemented as macros.**

**Unlike winch(3X),** **win\_wch** **and its variants store the value of the retrieved character in an** **additional** *wch* **parameter instead of the return value.**

## PORTABILITY

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

## HISTORY

**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** *winwch* **(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\_wch* **in that it returned a value of type** *chtype* **instead of** *cchar\_t*.

## SEE ALSO

**curs\_inch(3X) describes comparable functions of the** *ncurses* **library in its non-wide-character configuration.**

**curses(3X),** **curs\_inwstr(3X)**
