Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с файлами

7.5K
14 февраля 2006 года
Ivan_Cheremisov
23 / / 11.05.2005
Подскажите, а нет ли API функции которая позволяет вставить или вырезать в (из) файла кусок.
И ещё вопрос. Когда я открываю файл через функцию CreateFile то этот файл загружается в память весь, или только те фрагменты которые читаю из файла.
534
14 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by Ivan_Cheremisov
Подскажите, а нет ли API функции которая позволяет вставить или вырезать в (из) файла кусок.
И ещё вопрос. Когда я открываю файл через функцию CreateFile то этот файл загружается в память весь, или только те фрагменты которые читаю из файла.


Вырезать кусок не получится - придётся полностью перезаписывать файл. А CreateFile лишь открывает файл для возможного использования и вообще не загружает его в память.

284
15 февраля 2006 года
michael_is_98
587 / / 25.02.2005
Цитата:
Originally posted by HarryAxe
Вырезать кусок не получится - придётся полностью перезаписывать файл. А CreateFile лишь открывает файл для возможного использования и вообще не загружает его в память.


Получится при использовании MAP файлов (функции CreateFileMapping и MapViewOfFile)

534
15 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by michael_is_98
Получится при использовании MAP файлов (функции CreateFileMapping и MapViewOfFile)


MMF (Memory-mapped files) просто проецируются в память (по этому принципу работает файл подкачки), и с их помощью удалить часть данных из середины файла никак не удастся. Хотя бы и потому, что при создании подобного вида файлов для записи необходимо явно указывать размер будущего файла (если он будет меньше исходного, усечётся лишь задняя часть). Так что как ни верти, а записывать файл заново всё же придётся

284
16 февраля 2006 года
michael_is_98
587 / / 25.02.2005
MMF подойдет для изменения порядка байт в файле на противоположный...
Если это требуется, то это будет самое простое решение, не требующее больше ресурсов.
534
16 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by michael_is_98
MMF подойдет для изменения порядка байт в файле на противоположный...
Если это требуется, то это будет самое простое решение, не требующее больше ресурсов.



Если проецировать файл несколько раз с разным offset, то, в принципе, можно и фрагмент данных вставить в середину файла. Но, ИМХО овчинка выделки не стоит - проще и быстрее для такой задачи будет "старый дедовский" метод с перезаписью. А вот поменять порядок байт на обратный - задача нетривиальная и практическое применение ей находится очень редко

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог