fgetws - read a wide-character string from a FILE stream
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ fgetws() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
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
character (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 characters at ws.
For a nonlocking counterpart, see unlocked_stdio(3).
History
POSIX.1-2001, C99.
Library
Standard C library (libc, -lc)
Name
fgetws - read a wide-character string from a FILE stream
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.
Return Value
The fgetws() function, if successful, returns ws. If end of stream was already reached or if an error
occurred, it returns NULL.
See Also
fgetwc(3), unlocked_stdio(3) Linux man-pages 6.9.1 2024-06-15 fgetws(3)
Standards
C11, POSIX.1-2008.
Synopsis
#include<wchar.h>wchar_t*fgetws(wchar_tws[restrict.n],intn,FILE*restrictstream);