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 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.
Copyright (c) Bruno Haible <haibleclisp.cons.org> This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. References consulted: GNU glibc-2 source code and manual Dinkumware C library reference http://www.dinkumware.com/ OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html ISO/IEC 9899:1999 Modified Tue Oct 16 23:18:40 BST 2001 by John Levon <mozcompsoc.man.ac.uk> |