Pegasus InfoCorp: Web site design and web software development company

FGETWS (3)

read a wide character string from a FILE stream

SYNOPSIS

    #include <wchar.h>
      wchar_t *fgetws (wchar_t * ws , int  n , FILE * stream );  
    

DESCRIPTION

    The fgetws function is the wide-character equivalent of the fgets 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.

RETURN VALUE

    The fgetws function, if successful, returns ws. If end of stream was already reached or if an error occurred, it returns NULL.

CONFORMING TO

    ISO/ANSI C, UNIX98

SEE ALSO

NOTES

    The behaviour of fgetws depends on the LC_CTYPE category of the current locale.

    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 properly with null wide characters that may be present in the input. man3/ferror.3 '\" '\" Copyright (c) 1995-1996 Sun Microsystems, Inc. '\" '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" '\" RCS: @(#) $Id: FindExec.3,v 1.3 1998/09/14 18:39:48 stanton Exp $ '\" '\" The definitions below are for supplemental macros used in Tcl/Tk '\" manual entries. '\" '\" .AP type name in/out ?indent? '\" Start paragraph describing an argument to a library procedure. '\" type is type of argument (int, etc.), in/out is either "in", "out", '\" or "in/out" to describe whether procedure reads or modifies arg, '\" and indent is equivalent to second arg of .IP (shouldn't ever be '\" needed; use .AS below instead) '\" '\" .AS ?type? ?name? '\" Give maximum sizes of arguments for setting tab stops. Type and '\" name are examples of largest possible arguments that will be passed '\" to .AP later. If args are omitted, default tab stops are used. '\" '\" .BS '\" Start box enclosure. From here until next .BE, everything will be '\" enclosed in one large box. '\" '\" .BE '\" End of box enclosure. '\" '\" .CS '\" Begin code excerpt. '\" '\" .CE '\" End code excerpt. '\" '\" .VS ?version? ?br? '\" Begin vertical sidebar, for use in marking newly-changed parts '\" of man pages. The first argument is ignored and used for recording '\" the version when the .VS was added, so that the sidebars can be '\" found and removed when they reach a certain age. If another argument '\" is present, then a line break is forced before starting the sidebar. '\" '\" .VE '\" End of vertical sidebar. '\" '\" .DS '\" Begin an indented unfilled display. '\" '\" .DE '\" End of indented unfilled display. '\" '\" .SO '\" Start of list of standard options for a Tk widget. The '\" options follow on successive lines, in four columns separated '\" by tabs. '\" '\" .SE '\" End of list of standard options for a Tk widget. '\" '\" .OP cmdName dbName dbClass '\" Start of description of a specific option. cmdName gives the '\" option's name as specified in the class command, dbName gives '\" the option's name in the option database, and dbClass gives '\" the option's class in the option database. '\" '\" .UL arg1 arg2 '\" Print arg1 underlined, then print arg2 normally. '\" '\" RCS: @(#) $Id: man.macros,v 1.2 1998/09/14 18:39:54 stanton Exp $ '\" '\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages. t .wh -1.3i ^B ^l \n(.l b '\" # Start an argument description AP !"\\$4"" .TP \\$4 \{\ !"\\$2"" .TP \\n()Cu .TP 15