Этот вопрос напомнил, когда я пытался решить проблему this.Как мы можем разбить один файл размером 100 ГБ на сто 1 ГБ файл?
У меня есть жесткий диск емкостью 120 ГБ, из которых 100 ГБ занят одним огромным файлом. Таким образом, 20 ГБ по-прежнему бесплатны.
Мой вопрос в том, как мы можем разделить этот огромный файл на более мелкие, скажем по 1 ГБ каждый? Я вижу, что если бы я имел свободное пространство на 100 ГБ, возможно, это было возможно с помощью простого алгоритма. Но, учитывая только 20 ГБ свободного места, мы можем записать до 20 1GB файлов. Я не знаю, как удалить содержимое из большего файла во время чтения из него.
Любое решение?
кажется Я усечь файл на 1 ГБ, когда я заканчиваю запись одного файла, но это сводится к этому Queston:
Можно ли обрезать часть файла? Как именно?
Я хотел бы видеть алгоритм (или схему алгоритма), который работает в C или C++ (предпочтительно Standard C и C++), , чтобы я мог знать, нижние детали уровня. Я не ищу волшебную функцию, скрипт или команду, которые могут выполнять эту работу.
вам придется работать из ** END ** исходного файла. отделить 1gig кусок, обрезать исходный файл на 1gig и т. д. ... вы не можете сделать это с фронта, так как это требует, чтобы вы скопировали весь файл, и у вас закончится свободное пространство. –
@MarcB: Можно ли обрезать часть файла? Как именно? – Nawaz
уверен, но для этого требуется скопировать «нужные» детали и пропустить нежелательные части. вы не можете просто «удалить» из середины файла. –