- Fseek
fseek is a C function belonging to the
ANSI C standard library , and included in the filestdio.h . Its purpose is to change the file position indicator for the specified stream. Because fseek uses 32 bit values on many platforms it has a limitation of maximum 2 gigabyte seeks [http://www.codeproject.com/file/64-bit_fileio.asp] .Function prototype
:
int fseek(FILE "*stream_pointer", long "offset", int "origin");
Argument meaning:
* "stream_pointer" is a pointer to the stream "FILE" structure of which the position indicator should be changed;
* "offset" is a "long" integer which specifies the number of bytes from "origin" where the position indicator should be placed;
* "origin" is an integer which specifies the origin position. It can be:
**SEEK_SET : origin is the start of the stream ;
**SEEK_CUR : origin is the current position ;
**SEEK_END : origin is the end of the stream ;Return value
The return value is an "integer" which mean:
* "0" (zero) : function performed successfully in the stream
* "nonzero" : an error occurred
* On devices incapable of seeking, the return value is undefined.Notes that each error number has a distinct meaning. The meaning can be revealed by checking "
errno.h ".Example
#includeint main(int argc, char **argv) { FILE *file_pointer; file_pointer = fopen("text.txt","r"); if(fseek(file_pointer, 0, SEEK_SET)) { puts("An error occurred"); } else { char buffer [100] ; fgets(buffer, 100, file_pointer); puts("The first line of the file is:"); puts(buffer); } fclose(file_pointer); return 0;}This program code opens a file called "text.txt" in read-only mode, tries to force the file pointer to the beginning of the file, and outputs the first line of the file.
Wikimedia Foundation. 2010.