< cpp‎ | io‎ | c
Revision as of 22:01, 31 May 2013 by P12bot (Talk | contribs)

Defined in header <cstdio>
int fseek( std::FILE* stream, long offset, int origin );

Sets the file position indicator for the file stream stream as follows:

If the stream is open in binary mode, the new position is exactly offset bytes measured from the beginning of the file if origin is SEEK_SET, from the current file position if origin is SEEK_CUR, and from the end of the file if origin is SEEK_END. Some binary streams may not support the SEEK_END.

If the stream is open in text mode, the only supported values for offset are zero (which works with any origin) and a value returned by an earlier call to std::ftell on a stream associated with the same file (which only works with origin of SEEK_SET.

In addition to changing the file position indicator, fseek undoes the effects of std::ungetc and clears the end-of-file status, if applicable.

If a read or write error occurs, the error indicator for the stream (std::ferror) is set and the file position is unaffected.



stream - file stream to modify
offset - number of characters to shift the position relative to origin
origin - position to which offset is added. It can have one of the following values: SEEK_SET, SEEK_CUR, SEEK_END

Return value

0 upon success, nonzero value otherwise.


See also

moves the file position indicator to a specific location in a file
(function) [edit]
gets the file position indicator
(function) [edit]
returns the current file position indicator
(function) [edit]
moves the file position indicator to the beginning in a file
(function) [edit]
C documentation for fseek