Guardian Native C Library Calls Reference Manual (G06.28+, H06.05+)
Guardian Native C Library Calls (f) fscanf(3)
The conversion code convcode indicates how to interpret the input field. The corresponding
pointer must usually be of a restricted type. You should not specify the pointer parameter for a
suppressed field.
fscanf( ) processing ends at either the end of the input file, at the end of the conversion
specifications, or when an input character conflicts with a conversion specification. If processing
ends with an input character conflict, the conflicting character is not read from the input stream.
Unless there is a match in the conversion specification, trailing white space (including a newline
character) is not read.
The success of literal matches and suppressed assignments cannot be directly determined. The
fscanf( ) function returns the number of successfully matched and assigned input items.
NOTES
This function supports both IEEE Std 754-1985 floating-point and Tandem floating-point values
in the native environment. IEEE values can include NaN and infinity, and the sign of 0.0 (zero)
can be either positive or negative. Refer to the fp_class(3) reference page for a description of
IEEE value classes.
Guardian functions are available to convert between floating-point formats. Refer to the Guar-
dian Programmer’s Guide for a discussion of floating-point conversions.
RETURN VALUES
The fscanf( ) function returns the number of successfully matched and assigned input items. This
value can be 0 (zero) if there was an early conflict between an input character and a conversion
specification. If the input ends before the first conflict or conversion, EOF (End-of-File) is
returned.
ERRORS
The fscanf( ) function fails if stream is unbuffered, or if stream’s buffer needed to be flushed and
the function call caused an underlying read() or lseek() function to be invoked and that opera-
tion failed. In addition, if any of the following conditions occur, the fscanf() function sets errno
to the corresponding value:
[EAGAIN] The O_NONBLOCK flag is set for the underlying stream and the process would
be delayed by the read operation.
[EBADF] The file descriptor underlying stream is not a valid file descriptor or is not open
for reading.
[EILSEQ] The stream parameter contains an invalid wide character.
[EINTR] The read operation was interrupted by a signal that was caught and no data was
transferred.
[EINVAL] The function call contains an invalid argument.
[EIO] The call is attempting to read from the process’s controlling terminal and either
the process is ignoring or blocking the SIGTTIN signal or the process group is
orphaned.
[ENOMEM] Insufficient memory is available for the operation.
[ENXIO] A request was made to a nonexistent device, or the request was outside the capa-
bilities of the device.
527192-007 Hewlett-Packard Company 2−93