fgetws(3) Library Functions Manual fgetws(3) NAME fgetws - read a wide-character string from a FILE stream LIBRARY Standard C library (libc, -lc) SYNOPSIS #include wchar_t *fgetws(int n; wchar_t ws[restrict n], int n, FILE *restrict stream); DESCRIPTION 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 null wide charac- ter (L'\0'). It stops reading wide characters after it has encountered and stored a newline wide character. It also stops when end of stream is reached. The programmer must ensure that there is room for at least n wide charac- ters at ws. For a nonlocking counterpart, see unlocked_stdio(3). RETURN VALUE The fgetws() function, if successful, returns ws. If end of stream was al- ready reached or if an error occurred, it returns NULL. ATTRIBUTES For an explanation of the terms used in this section, see attributes(7). allbox; lbx lb lb l l l. Interface Attribute Value T{ fgetws() T} Thread safety MT-Safe STANDARDS C11, POSIX.1-2008. HISTORY POSIX.1-2001, C99. NOTES The behavior of fgetws() depends on the LC_CTYPE category of the current locale. 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. SEE ALSO fgetwc(3), unlocked_stdio(3) Linux man-pages 6.18 2026-02-08 fgetws(3)