fgetws - read a wide-character string from a FILE stream
wchar_t *fgetws(wchar_t *ws, int n, FILE *stream);
The fgetws() function is the wide-character equivalent of the fgets(3)
function. It reads a string of at most n-1 wide characters into the
wide-character array pointed to by ws, and adds a terminating L'\0'
character. It stops reading wide characters after it has encountered
and stored a newline wide character. It also stops when end of stream
The programmer must ensure that there is room for at least n wide
characters at ws.
For a nonlocking counterpart, see unlocked_stdio(3).
The fgetws() function, if successful, returns ws. If end of stream was
already reached or if an error occurred, it returns NULL.
The behavior of fgetws() depends on the LC_CTYPE category of the
In the absence of additional information passed to the fopen(3) call,
it is reasonable to expect that fgetws() will actually read a multibyte
string from the stream and then convert it to a wide-character string.
This function is unreliable, because it does not permit to deal
properly with null wide characters that may be present in the input.
This page is part of release 3.24 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.