Given a text file, find its size in bytes.
Examples:
Input : file_name = "a.txt"
Let "a.txt" contains "geeks"
Output : 6 Bytes
There are 5 bytes for 5 characters then an extra
byte for end of file.
Input : file_name = "a.txt"
Let "a.txt" contains "geeks for geeks"
Output : 16 Bytes
The idea is to use fseek() in C and ftell in C. Using fseek(), we move file pointer to end, then using ftell(), we find its position which is actually size in bytes.
#include <stdio.h>
long int findSize( char file_name[])
{
FILE * fp = fopen (file_name, "r" );
if (fp == NULL) {
printf ( "File Not Found!\n" );
return -1;
}
fseek (fp, 0L, SEEK_END);
long int res = ftell (fp);
fclose (fp);
return res;
}
int main()
{
char file_name[] = { "a.txt" };
long int res = findSize(file_name);
if (res != -1)
printf ( "Size of the file is %ld bytes \n" , res);
return 0;
}
|
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
28 Apr, 2018
Like Article
Save Article