Gets the current position of a file pointer.
Include
<stdio.h>
Prototype
long ftell(FILE *stream);
Argument
stream |
stream in which to get the current file position |
Return Value
Returns the position of the file pointer if successful; otherwise, returns -1.
Example
#include <stdio.h> /* for ftell, fread, */
/* fprintf, printf, */
/* fopen, fclose, sizeof, */
/* FILE, NULL */
int main(void)
{
FILE *myfile;
char s[75];
long y;
myfile = fopen("afile.out", "w+");
if (myfile == NULL)
printf("Cannot open afile.out\n");
else
{
fprintf(myfile,"This is a very long sentence "
"for input into the file named "
"afile.out for testing.");
fclose(myfile);
if ((myfile = fopen("afile.out", "rb")) != NULL)
{
printf("Read some characters:\n");
fread(s, sizeof(char), 29, myfile);
printf("\t\"%s\"\n", s);
y = ftell(myfile);
printf("The current position of the "
"file pointer is %ld\n", y);
fclose(myfile);
}
}
}
Example Output
Read some characters:
"This is a very long sentence "
The current position of the file pointer is 29