long int ftell ( FILE * stream ); |
<cstdio> |
Get current position in stream
Returns the current value of the position indicator of the stream.
For binary streams, the value returned corresponds to the number of bytes from the beginning of the file.
For text streams, the value is not guaranteed to be the exact number of bytes from the beginning of the file, but the value returned can still be used to restore the position indicator to this position using fseek.
Parameters
- stream
- Pointer to a FILE object that identifies the stream.
Return Value
On success, the current value of the position indicator is returned.
If an error occurs,
-1L is returned, and the global variable
errno is set to a positive value. This value can be interpreted by
perror.
Example
/* ftell example : getting size of a file */
#include <stdio.h>
int main ()
{
FILE * pFile;
long size;
pFile = fopen ("myfile.txt","rb");
if (pFile==NULL) perror ("Error opening file");
else
{
fseek (pFile, 0, SEEK_END);
size=ftell (pFile);
fclose (pFile);
printf ("Size of myfile.txt: %ld bytes.\n",size);
}
return 0;
}
|
This program prints out the size of myfile.txt in bytes.
See also
fseek | Reposition stream position indicator (function) |
fgetpos | Get current position in stream (function) |
rewind | Set position indicator to the beginning (function) |