Существует куча способов узнать размер файла при помощи С/С++. Есть способы, которые зависят от операционной системы, есть те, которые зависят от файловой системы.
Например, этот вариант отлично работает в unix-like системах
// return file size in bytes int getFileSize(FILE *input) { int fileSizeBytes; // set file pointer to end of file fseek(input, 0, SEEK_END); // get current pointer position in bytes (== file size in bytes) fileSizeBytes = ftell(input); // return pointer to begin of file (it's very IMPORTANT) fseek(input, 0, SEEK_SET); return fileSizeBytes; }
#include <sys/stat.h> ... int getFileSize(const char * fileName) { struct stat file_stat; stat(fileName, &file_stat); return file_stat.st_size; }