fgetws — read a wide-character string from a FILE stream
#include <wchar.h>
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 is reached.
The programmer must ensure that there is room for at least
n
wide characters 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.
The behaviour 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.
|