Чтобы узнать размер файла, нам потребуется воспользоваться fstream и его функциями seekq для произвольного доступа, tellq и close
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_ALL, "rus"); int fileSize; // Создаем переменную, в которой будет храниться значение веса файла fstream file("D:\\Books\\Stephen_King\\Shining.docx"); // Открываем файл по заданному пути file.seekg(0, ios::end); fileSize = file.tellg(); file.close(); cout << "Выбранный файл весит " << fileSize << " Байт" << endl; return 0; } |
@nikko
В C++ можно использовать функцию stat() из заголовочного файла <sys/stat.h> для получения информации о файле, в том числе его размера. Пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <sys/stat.h> #include <iostream> int main() { struct stat st; if (stat("file.txt", &st) == 0) { std::cout << "File size: " << st.st_size << " bytes" << std::endl; } else { std::cout << "Error getting file information" << std::endl; } return 0; } |
В этом примере функция stat() принимает два параметра: первый - имя файла, второй - структуру stat, которую она заполняет информацией о файле. Поле st_size в этой структуре содержит размер файла в байтах.