РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
507 of 815 menu

Функция file_size

Функция file_size возвращает размер файла в байтах. В качестве параметра мы передаем путь к файлу, размер которого нужно узнать. Путь может быть представлен объектом std::filesystem::path, строкой или строкой в стиле C. Если файл не существует или произошла ошибка при обращении к нему, функция выбрасывает исключение std::filesystem::filesystem_error.

Синтаксис

std::uintmax_t file_size(const std::filesystem::path& p);

Пример

Давайте узнаем размер файла test.txt, который находится в текущей директории:

#include <iostream> #include <filesystem> using namespace std; int main() { uintmax_t res = filesystem::file_size("test.txt"); cout << res << endl; return 0; }

Результат выполнения кода:

1024

Пример

Давайте узнаем размер файла по полному пути /var/www/index.html:

#include <iostream> #include <filesystem> using namespace std; int main() { filesystem::path p = "/var/www/index.html"; uintmax_t res = filesystem::file_size(p); cout << res << endl; return 0; }

Результат выполнения кода:

2048

Пример

Давайте обработаем ситуацию, когда файл не существует, с помощью блока try и catch:

#include <iostream> #include <filesystem> using namespace std; int main() { try { uintmax_t res = filesystem::file_size("nofile.txt"); cout << res << endl; } catch (const filesystem::filesystem_error& e) { cout << e.what() << endl; } return 0; }

Результат выполнения кода:

"filesystem error: cannot get file size: No such file or directory [nofile.txt]"

Смотрите также

  • функция exists,
    которая проверяет существование файла
  • функция is_regular_file,
    которая проверяет, является ли путь обычным файлом
  • функция last_write_time,
    которая возвращает время последнего изменения файла
  • функция file_status,
    которая возвращает статус файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить