FGETWS(3) Linux Programmer's Manual FGETWS(3)
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 func-
tion. 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' charac-
ter. It stops reading wide characters after it has encountered and
stored a newline wide character. It also stops when end of stream is
The programmer must ensure that there is room for at least n wide char-
acters at ws.
For a non-locking 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.
ISO/ANSI C, UNIX98
The behaviour of fgetws depends on the LC_CTYPE category of the current
In the absence of additional information passed to the fopen 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 prop-
erly with null wide characters that may be present in the input.
GNU 1999-07-25 FGETWS(3)