Previous: EOF and Errors, Up: C-Style I/O Functions
Three functions are available for setting and determining the position of the file pointer for a given file.
Return the position of the file pointer as the number of characters from the beginning of the file fid.
See also: fseek, fopen, fclose.
Set the file pointer to any location 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), orSEEK_END
(end of file) or strings "cof", "bof" or "eof". If origin is omitted,SEEK_SET
is assumed. The offset must be zero, or a value returned byftell
(in which case origin must beSEEK_SET
).Return 0 on success and -1 on error.
See also: ftell, fopen, fclose.
These variables may be used as the optional third argument for the function
fseek
.
SEEK_SET
- Position file relative to the beginning.
SEEK_CUR
- Position file relative to the current position.
SEEK_END
- used with fseek to position file relative to the end.
Move the file pointer to the beginning of the file fid, returning 0 for success, and -1 if an error was encountered. It is equivalent to
fseek (
fid, 0, SEEK_SET)
.
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);