Scroll to navigation

inwstr(3NCURSES) Library calls inwstr(3NCURSES)

NAME

inwstr, innwstr, winwstr, winnwstr, mvinwstr, mvinnwstr, mvwinwstr, mvwinnwstr - get a wide-character string from a curses window

SYNOPSIS

#include <curses.h>
int inwstr(wchar_t *wstr);
int innwstr(wchar_t *wstr, int n);
int winwstr(WINDOW *win, wchar_t *wstr);
int winnwstr(WINDOW *win, wchar_t *wstr, int n);
int mvinwstr(int y, int x, wchar_t *wstr);
int mvinnwstr(int y, int x, wchar_t *wstr, int n);
int mvwinwstr(WINDOW *win, int y, int x, wchar_t *wstr);
int mvwinnwstr(WINDOW *win, int y, int x, wchar_t *wstr, int n);

DESCRIPTION

These routines return a string of wchar_t wide characters in wstr, starting at the current cursor position in the named window.

The four functions with n as the last argument return a leading substring at most n characters long (exclusive of the trailing NUL). Transfer stops at the end of the current line, or when n characters have been stored at the location referenced by wstr.

If the size n is not large enough to store a complete complex character, an error is generated.

RETURN VALUE

All routines return ERR upon failure. Upon successful completion, the *inwstr routines return OK, and the *innwstr routines return the number of characters read into the string.

X/Open defines no error conditions. This implementation returns an error

  • if the win parameter is null or
  • if the wstr parameter is null, or
  • if no characters could be read.

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

NOTES

All routines except winnwstr may be macros.

Each cell in the window holds a complex character (a spacing character and zero or more non-spacing characters) together with attributes and color. These functions store only the wide characters, ignoring attributes and color. Use in_wchstr to return the complex characters from a window.

Reading a line that overflows the array pointed to by wstr with inwstr, mvinwstr, mvwinwstr or winwstr causes undefined results. Therefore, the use of innwstr, mvinnwstr, mvwinnwstr, or winnwstr is recommended.

PORTABILITY

These functions are described in X/Open Curses, Issue 4.

SEE ALSO

ncurses(3NCURSES), inch(3NCURSES), inchstr(3NCURSES), instr(3NCURSES), in_wchstr(3NCURSES)

2024-04-20 ncurses 6.5