Я хотел бы иметь возможность редактировать содержимое двоичного файла на C++ и удалять все содержимое до определенной позиции символа, которое я уже знаю, немного напоминает удаление заголовка из файла ,Удалить заголовок из файла
Один пример файла У меня есть 1,3 миллиона байт, и я хотел бы удалить первые 38 400, а затем сохранить файл под исходным именем.
В настоящее время я делаю буферизованное чтение, чтобы найти позицию для каждого файла (правила для того, где вырезать файл сложны, и это не простой поиск), и, конечно, я мог бы сделать еще одну буферизированную читать из pos, выводить в новый файл, затем переименовывать или что-то в этом направлении.
Но он чувствует себя довольно тяжело, чтобы скопировать весь файл. Есть ли способ, которым я могу просто получить ОС (только для Windows Vista & - перекрестная платформа не требуется), чтобы перенести начало файла и переработать эти 38 400 байтов? Увы, я не могу найти пути, поэтому я бы попросил у вас вашу помощь :)
Огромное спасибо за любую помощь, которую вы можете предложить.
Скопировал весь файл слишком долго? – willj
Это не займет больше времени, чем я ожидал, но некоторые из файлов более 2 ГБ, так что они не слишком малы. В любом случае, спасибо вам всем за вашу помощь. Очень ценю :) – niemiro
Я только что нашел какое-то дополнительное объяснение, почему оно не реализовано: http://blogs.msdn.com/b/oldnewthing/archive/2010/12/01/10097859.aspx – niemiro