Guardian Native C Library Calls Reference Manual (G06.29+, H06.08+, J06.03+)

fseek(3) Guardian Native C Library Calls Reference Manual
NAME
fseek - Repositions the file pointer of a stream
LIBRARY
G-series native Guardian processes: $SYSTEM.SYSnn.ZCRTLSRL
G-series native OSS processes: /G/system/sysnn/zcrtlsrl
H-series and J-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
32-bit H-series and J-series OSS processes: /G/system/zdllnnn/zcrtldll
64-bit H-series and J-series OSS processes: /G/system/zdllnnn/ycrtldll
SYNOPSIS
#include <stdio.h>
int fseek(
FILE stream,
long int offset,
int whence);
PARAMETERS
stream Species the I/O stream.
offset Determines the position of the next operation.
whence Determines the value for the file pointer associated with the stream parameter.
DESCRIPTION
The fseek() function sets the position of the next input or output operation on the I/O stream
specified by the stream parameter. The position of the next operation is determined by the offset
parameter, which can be either positive or negative.
The fseek() function sets the file pointer associated with the specified stream as follows:
If the whence parameter is SEEK_SET, the pointer is set to the value of the offset
parameter.
If the whence parameter is SEEK_CUR, the pointer is set to its current location plus the
value of the offset parameter.
If the whence parameter is SEEK_END, the pointer is set to the size of the file plus the
value of the offset parameter.
The fseek() function fails if attempted on a file that was not opened with the fopen() function.
In particular, the fseek() function cannot be used on a terminal or on a file opened with the
popen() function. In addition, if the fseek() function attempts to move the file pointer to an
odd-byte position in an even-unstructured file, the run unit terminates abnormally and run-time
error 199, "START positioning failed with error 0," is returned.
A successful call to the fseek() function clears the End-of-File indicator for the stream and
undoes any effects of the ungetc() function on the same stream. After a call to the fseek() func-
tion, the next operation on an update stream may be either input or output.
If the stream is writable, and buffered data was not written to the underlying file, the fseek()
function causes the unwritten data to be written to the file and marks the st_ctime and st_mtime
fields of the file for update.
If the most recent operation (ignoring any ftell( ) operations) on a given stream was fflush( ), then
the fseek() function causes the file offset in the underlying open file descriptor to be adjusted to
reflect the location specified by the fseek() function.
2136 Hewlett-Packard Company 527192-018