resize_file без побайтового копирования содержимого. Сначала создадим короткий "scratch.tmp".">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpFsRz 346 of 696 menu
◀ ▶

Изменение размера файла в C++

Заданную длину файла в байтах на диске устанавливает resize_file без побайтового копирования содержимого.

Сначала создадим короткий "scratch.tmp", затем изменим его размер и выведем новую длину через file_size:

#include <filesystem> #include <fstream> #include <iostream> std::ofstream{"scratch.tmp"} << "x"; std::filesystem::path scratch{"scratch.tmp"}; std::filesystem::resize_file(scratch, 8); std::cout << std::filesystem::file_size(scratch) << "\n";

Увеличение размера не заполняет середину осмысленными данными - меняется только заявленная длина на диске.

Создайте файл "pad.tmp" с одним символом, задайте std::filesystem::path blob для этого имени, установите длину 16 байт и выведите std::filesystem::file_size(blob).

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить