Как изменить размер маппированного файла?

Тема в разделе "WASM.BEGINNERS", создана пользователем s_d_f, 19 окт 2011.

  1. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Парой функций SetFilePointerEx и SetEndOfFile можно изменять размер файла, но на маппированые файлы (для чтения и записи) это что-то не действует. Выходит что нужно закрывать маппирование для изменения размера.
    Есть-ли более оптимальные способы изменить размер маппированого файла?
     
  2. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Это изменения позиции файлового указателя


    Вообщем нет нельзя( Надо делать перемапинг.
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    s_d_f
    А какой смысл в этих способах? Данные увеличенного файла всё равно не будут доступны через отображение, т.к. оно не может превысить размер, указанный изначально при создании отображения. Если эти данные не нужны, то увеличить файл можно и после работы с отображением, а если нужны, то ремапить всё равно придётся. Другое дело, что SetFilePointerEx и SetEndOfFile в последнем случае не нужны, т.к. достаточно просто создать отображение с размером, превышающим размер файла.
     
  4. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Просто нужно не только читать/писать, но и вставлять/вырезать.
    А маппирование выходит хорошо только для читать/писать, ну и быть может еще вырезать.