C Program to find size of a File
Given a text file, find its size in bytes.
Examples:
Input : file_name = "a.txt" Let "a.txt" contains "Beginner" 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 "Beginner for Beginner" 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.
// C program to find the size of file #include <stdio.h> long int findSize( char file_name[]) { // opening the file in read mode FILE * fp = fopen (file_name, "r" ); // checking if the file exist or not if (fp == NULL) { printf ( "File Not Found!\n" ); return -1; } fseek (fp, 0L, SEEK_END); // calculating the size of the file long int res = ftell (fp); // closing the file fclose (fp); return res; } // Driver code 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; } |
Contact Us