xref: /illumos-gate/usr/src/man/man3c/getws.3c (revision d583b39bfb4e2571d3e41097c5c357ffe353ad45)
te
Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
GETWS 3C "Oct 15, 2003"
NAME
getws, fgetws - get a wide-character string from a stream
SYNOPSIS

#include <stdio.h>
include <widec.h>

wchar_t *getws(wchar_t *ws);

#include <stdio.h>
include <wchar.h>

wchar_t *fgetws(wchar_t *restrict ws, int n, FILE *restrict stream);
DESCRIPTION

The getws() function reads a string of characters from the standard input stream, stdin, converts these characters to the corresponding wide-character codes, and writes them to the array pointed to by ws, until a newline character is read, converted and transferred to ws or an end-of-file condition is encountered. The wide-character string, ws, is then terminated with a null wide-character code.

The fgetws() function reads characters from the stream, converts them to the corresponding wide-character codes, and places them in the wchar_t array pointed to by ws until n-1 characters are read, or until a newline character is read, converted and transferred to ws, or an end-of-file condition is encountered. The wide-character string, ws, is then terminated with a null wide-character code.

If an error occurs, the resulting value of the file position indicator for the stream is indeterminate.

The fgetws() function may mark the st_atime field of the file associated with stream for update. The st_atime field will be marked for update by the first successful execution of fgetc(3C), fgets(3C), fgetwc(3C), fgetws(), fread(3C), fscanf(3C), getc(3C), getchar(3C), gets(3C), or scanf(3C) using stream that returns data not supplied by a prior call to ungetc(3C) or ungetwc(3C).

RETURN VALUES

Upon successful completion, getws() and fgetws() return ws. If the stream is at end-of-file, the end-of-file indicator for the stream is set and fgetws() returns a null pointer. For standard-conforming (see standards(5)) applications, if the end-of-file indicator for the stream is set, fgetws() returns a null pointer whether or not the stream is at end-of-file. If a read error occurs, the error indicator for the stream is set and fgetws() returns a null pointer and sets errno to indicate the error.

ERRORS

See fgetwc(3C) for the conditions that will cause fgetws() to fail.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability fgetws() is Standard.
MT-Level MT-Safe
SEE ALSO

ferror(3C), fgetwc(3C), fread(3C), getwc(3C), putws(3C), scanf(3C), ungetc(3C), ungetwc(3C)attributes(5), standards(5)