Writes output to the stream under control of the wide-character
format string.
Format
#include <wchar.h>
int fwprintf (FILE *stream, const wchar_t
*format, . . . );
Arguments
- stream
- A file pointer.
- format
- A pointer to a wide-character string containing the format
specifications. For more information about format and conversion
specifications and their corresponding arguments, see Chapter 2.
- . . .
-
- Optional expressions whose resultant types correspond to
conversion specifications given in the format specification.
If no conversion specifications are given, the output sources can
be omitted. Otherwise, the function calls must have exactly as
many output sources as there are conversion specifications, and
the conversion specifications must match the types of the output
sources.
Conversion specifications are matched to output sources in left-to-
right order. Any excess output sources are ignored.
Description
This function writes output to the stream pointed to by
stream under control of the wide-character string pointed
to by format, which specifies how to convert subsequent
arguments to output. If there are insufficient arguments for the
format, the behavior is undefined. If the format is exhausted
while arguments remain, the excess arguments are evaluated, but are
otherwise ignored. The fwprintf function returns when it encounters
the end of the format string.
The format argument is composed of zero or more directives
that include:
- Ordinary wide characters (not the percent sign (%))
- Conversion specifications
Return Values
n | The number of wide characters
written. |
Negative value |
Indicates an error. The function sets errno to one of the
following:
- EILSEQ - Invalid character detected.
- EINVAL - Insufficient arguments.
- ENOMEM - Not enough memory available for conversion.
- ERANGE - Floating-point calculations overflow.
- EVMSERR - Nontranslatable VMS error. vaxc$errno contains
the VMS error code. This might indicate that conversion to a
numeric value failed because of overflow.
The function can also set errno to the following as a result of
errors returned from the I/O subsystem:
- EBADF - The file descriptor is not valid.
- EIO - I/O error.
- ENOSPC - No free space on the device containing the file.
- ENXIO - Device does not exist.
- EPIPE - Broken pipe.
- ESPIPE - Illegal seek in a file opened for append.
- EVMSERR - Nontranslatable VMS error. vaxc$errno contains
the VMS error code. This indicates that an I/O error occurred for
which there is no equivalent C error code.
|
Example
The following example shows how to print a date and time in the form
"Sunday, July 3, 10:02", followed by to five decimal places:
#include <math.h>
#include <stdio.h>
#include <wchar.h>
/* . . . */
wchar_t *weekday, *month; /* pointers to wide-character strings */
int day, hours, min;
fwprintf(stdout, L"%ls, %ls %d, %.2d:%.2d\n",
weekday, month, day, hour, min);
fwprintf(stdout, L"pi = %.5f\n", 4 * atan(1.0));
Previous Page | Next Page | Table of Contents | Index