fseek() is used to move file pointer associated with a given file to a specific position.
Syntax:
int fseek(FILE *pointer, long int offset, int position) pointer: pointer to a FILE object that identifies the stream. offset: number of bytes to offset from position position: position from where offset is added. returns: zero if successful, or else it returns a non-zero value
position defines the point with respect to which the file pointer needs to be moved. It has three values:
SEEK_END : It denotes end of the file.
SEEK_SET : It denotes starting of the file.
SEEK_CUR : It denotes file pointer’s current position.
// C Program to demonstrate the use of fseek() #include <stdio.h> int main() { FILE *fp; fp = fopen ( "test.txt" , "r" ); // Moving pointer to end fseek (fp, 0, SEEK_END); // Printing position of pointer printf ( "%ld" , ftell (fp)); return 0; } |
Output:
81
Explanation
The file test.txt contains the following text:
"Someone over there is calling you. we are going for work. take care of yourself."
When we implement fseek() we move the pointer by 0 distance with respect to end of file i.e pointer now points to end of the file. Therefore the output is 81.
Related article: fseek vs rewind in C
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
leave a comment
0 Comments