1. ftell()
Returns the current file pointer position in numeric form.
Declaration:
long 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.
#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;
}