Russian Qt Forum
Ноябрь 24, 2024, 08:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Изменить файл без его перезаписи  (Прочитано 12261 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #15 : Июль 27, 2009, 10:44 »

Цитировать
2) Если файл большой
   - если вставка одиночна. Проще его перезаписать.

Если файл 500 метров а оперативки у юзера 128 и места в Temp исчерпано
А удалить нао из середины структуру на 10 метров
Конечн  можн юзать базы данных но для хранения примитивных одинаковых структур думал можн обойтись.

пиши свой алгоритм на fseek()/fread()/fwrite(). Читать блоки данных с определённого места, скажем по 4096 байт, и писать их на 10 Mb выше чем они были. Таким образом можно удалить что-то в середине файла. И truncate не забыть сделать, например через truncate() из unistd.h.
Записан
max1983
Гость
« Ответ #16 : Июль 27, 2009, 10:51 »

Цитировать
Теперь про комп. Встречные вопросы
даже на не плохой машине очевидны зависания при считывании такова объема в память.


Цитировать
пиши свой алгоритм на fseek()/fread()/fwrite(). Читать блоки данных с определённого места, скажем по 4096 байт, и писать их на 10 Mb выше чем они были. Таким образом можно удалить что-то в середине файла. И truncate не забыть сделать, например через truncate() из unistd.h.
Думаю эт то что мне надо спс всем.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #17 : Июль 27, 2009, 11:18 »

ТС все объяснили. Тему закрыл.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.