|
VMS Help CRTL, fseek, Description *Conan The Librarian |
The fseek function can position a fixed-length record-access
file with no carriage control or a stream-access file on any
byte offset, but can position all other files only on record
boundaries.
The available Standard I/O functions position a variable-length
or VFC record file at its first byte, at the end-of-file, or on
a record boundary. Therefore, the arguments given to fseek must
specify any of the following:
o The beginning or end of the file
o A 0 offset from the current position (an arbitrary record
boundary)
o The position returned by a previous, valid ftell call
See the fgetpos and fsetpos functions for a portable way to seek
to arbitrary locations with these types of record files.
CAUTION
If, while accessing a stream file, you seek beyond the
end-of-file and then write to the file, the fseek function
creates a hole by filling the skipped bytes with zeros.
In general, for record files, fseek should only be directed
to an absolute position that was returned by a previous
valid call to ftell, or to the beginning or end of a file.
If a call to fseek does not satisfy these conditions, the
results are unpredictable.
See also open, creat, dup, dup2, and lseek.
|
|