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 eld. The corresponding
pointer must usually be of a restricted type. You should not specify the pointer parameter for a
suppressed eld.
fscanf( ) processing ends at either the end of the input le, at the end of the conversion
specications, or when an input character conicts with a conversion specication. If processing
ends with an input character conict, the conicting character is not read from the input stream.
Unless there is a match in the conversion specication, 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 oating-point and Tandem oating-point values
in the native environment. IEEE values can include NaN and innity, 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 oating-point formats. Refer to the Guar-
dian Programmers Guide for a discussion of oating-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 conict between an input character and a conversion
specication. If the input ends before the rst conict or conversion, EOF (End-of-File) is
returned.
ERRORS
The fscanf( ) function fails if stream is unbuffered, or if streams buffer needed to be ushed 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 ag is set for the underlying stream and the process would
be delayed by the read operation.
[EBADF] The le descriptor underlying stream is not a valid le 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 processs controlling terminal and either
the process is ignoring or blocking the SIGTTIN signal or the process group is
orphaned.
[ENOMEM] Insufcient 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 293