Sunday 25 April 2021

File read write function | C Language

1. ftell()

Returns the current file pointer position in numeric form. 

 Declarationlong ftell(FILE *stream);

 

 Remarks:

ftell returns the current file pointer for stream.If the file is binary, the offset is measured in bytes from the beginning of

the file The value returned by ftell can be used in a subsequent call to fseek.

 

 Return Value:

   On success, returns the current file pointer position.

   On error, returns -1L and sets errno to a positive value.

 

Example

 

    #include <stdio.h>

 

int main(void)

{

   FILE *stream;

 

   stream = fopen("MYFILE.TXT", "w+");

   fprintf(stream, "This is a test");

   printf("The file pointer is at byte %ld\n", ftell(stream));

   fclose(stream);

   return 0;

}

2. rewind()

Repositions file pointer to stream's beginning

 

 Syntax:

  void rewind(FILE *stream);

 

 Remarks:

rewind(stream) is equivalent to   fseek(stream, 0L, SEEK_SET) 

except that rewind clears the end-of-file and error indicators, while fseek

only clears the end-of-file indicator. 

After rewind, the next operation on an update file can be either input or

output.

 

Example

 

 #include <stdio.h>

 #include <dir.h>

 

 int main(void)

 {

    FILE *fp;

    char *fname = "TXXXXXX", *newname, first;

 

    newname = mktemp(fname);

    fp = fopen(newname,"w+");

    fprintf(fp,"abcdefghijklmnopqrstuvwxyz");

    rewind(fp);

    fscanf(fp,"%c",&first);

    printf("The first character is: %c\n",first);

    fclose(fp);

    remove(newname);

 

    return 0;

}

 

Next Topic

No comments:

Post a Comment