Показать сообщение отдельно
Старый 24.12.2004, 16:04     # 1
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Алгоритмы файловых операций

Всем привет - у меня вопрос, который может перерости в обсуждение.
Сразу скажу, что не хотелось бы привязывать данную тему к конкретному языку, т.к. принципы работы с файлами ИМХО схожи.

Имеется: поток, который может создавать/открывать, записывать/читать из/в файл. Работаем в Винде 32 битной, под файловой
системой NTFS. ASM приветствуется, если можно как-то его применить в контексте использования с языками высокого уровня.

Безусловно просто реализовать: запись в конец файла, чтение, замена информации на другую в рамках фиксированного количества байт.

Сложное: удаление из файла фиксированного числа байт (для больших файлов в частности), вставка в файл, замена с увеличением или уменьшением размера.

Возьмем для этого такой пример файла, размером 24 байта:
Hex код:
CE 02 02 02 D1 F2 F0 EE F7 Ea E0 00 00 00 00 32 34 38 33 32 31 38 39 00
ASCII код:
O...Строчка....24832189.

А теперь представим, что файл весит мегабайт эдак 100-500 и надо удалить из файла, допустим первые 4 байта, заменить строку "Строчка"
на строку "Длинная строчка", ну вставить куда-нить че-нить и тд.
/7y3uK вне форума