6.18.27 ftell Function

Gets the current position of a file pointer.

Attention: This function is not implemented by MPLAB XC8.

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>

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