Вырезка из файла

Тема в разделе "WASM.WIN32", создана пользователем Freecod, 8 дек 2006.

  1. Freecod

    Freecod New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2006
    Сообщения:
    136
    Есть большой файл (2гб), нужно удалить из середины заголовка 256 байт, т.е.
    [MZ заголовок][256 dup (0)][PE заголовок][остальные данные], а нужно сделать файл
    [MZ заголовок][PE заголовок][остальные данные].
    Я просто конкретизирую пример, все эти MZ PE не важны, но между ними нужно удалить указанное кол-во нулей. Ничего кроме [чтение заголовка]->[модификация]->[запись в новый файл всего оставшегося в цикле] не приходит в голову. Может как нибудь можно отрезать MZ и сместить его выше? Или что-нибудь поэлегантней?
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Чуть элегантнее может быть запись не в новый файл, а в тотже файл. В конце нужно будет зафиксировать новый размер файла через SetEndOfFile.