octave: File Positioning
14.2.19 File Positioning
------------------------
Three functions are available for setting and determining the position
of the file pointer for a given file.
-- : POS = ftell (FID)
Return the position of the file pointer as the number of characters
from the beginning of the file specified by file descriptor FID.
DONTPRINTYET See also: fseek XREFfseek, frewind XREFfrewind, *noteDONTPRINTYET See also: fseek XREFfseek, frewind XREFfrewind,
feof XREFfeof, fopen XREFfopen.
-- : fseek (FID, OFFSET)
-- : fseek (FID, OFFSET, ORIGIN)
-- : STATUS = fseek (...)
Set the file pointer to the location OFFSET within the file FID.
The pointer is positioned OFFSET characters from the ORIGIN, which
may be one of the predefined variables ‘SEEK_CUR’ (current
position), ‘SEEK_SET’ (beginning), or ‘SEEK_END’ (end of file) or
strings "cof", "bof" or "eof". If ORIGIN is omitted, ‘SEEK_SET’ is
assumed. OFFSET may be positive, negative, or zero but not all
combinations of ORIGIN and OFFSET can be realized.
‘fseek’ returns 0 on success and -1 on error.
See also: fskipl XREFfskipl, frewind XREFfrewind,
ftell XREFftell, fopen XREFfopen.
-- : SEEK_SET ()
-- : SEEK_CUR ()
-- : SEEK_END ()
Return the numerical value to pass to ‘fseek’ to perform one of the
following actions:
‘SEEK_SET’
Position file relative to the beginning.
‘SEEK_CUR’
Position file relative to the current position.
‘SEEK_END’
Position file relative to the end.
See also: fseek XREFfseek.
-- : frewind (FID)
-- : STATUS = frewind (FID)
Move the file pointer to the beginning of the file specified by
file descriptor FID.
‘frewind’ returns 0 for success, and -1 if an error is encountered.
It is equivalent to ‘fseek (FID, 0, SEEK_SET)’.
DONTPRINTYET See also: fseek XREFfseek, ftell XREFftell, *noteDONTPRINTYET See also: fseek XREFfseek, ftell XREFftell,
fopen XREFfopen.
The following example stores the current file position in the
variable ‘marker’, moves the pointer to the beginning of the file, reads
four characters, and then returns to the original position.
marker = ftell (myfile);
frewind (myfile);
fourch = fgets (myfile, 4);
fseek (myfile, marker, SEEK_SET);