|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.04.2012, 00:28 | #1 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
Как переместить участок в памяти?
Здравствуйте. Помогите в работе с памятью!
Я читаю в память весь файл (выдержка из кода) Код:
|
20.04.2012, 00:36 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Точно массив не подойдет?
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
20.04.2012, 01:36 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Есть готовый класс TFileStream. Используйте его, либо его начинку.
|
20.04.2012, 09:59 | #4 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
BDA, к сожалению нет, тк объёмы памяти довольно большие.
Человек_Борща, спасибо, но там вроде бы тоже внутренний буфер используется. Последний раз редактировалось dolphin705; 20.04.2012 в 10:05. Причина: 1 |
20.04.2012, 10:09 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
dolphin705, большие объемы чего? Из вашего условия следует, что вам нужно только 256 байт дополнительной памяти
Или вы уже и так использовали всю память? Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 20.04.2012 в 10:16. |
20.04.2012, 12:24 | #6 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
Извиняюсь, может просто не доскональна всё объяснил. В примере Size может быть до 100 и даже больше мегабайт. 256 байт это кусок переноса (к примеру). На сколько я знаю стек обычной программы 100 мб. точно не сможет вместить.
|
20.04.2012, 16:09 | #7 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Чего-то я не понял.
Открыли файл. Спозиционировали в конец минус 256 байт. Прочитали 256 байт. Отрезали конец. Перешли в начало. Записали 256 байт. Закрыли файл. Это секундная операция даже на гиговых файлах. Вопрос: нафига надо грузить в память файл целиком?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
20.04.2012, 16:28 | #8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
dolphin705, стек-то может и 100 мб, но я умудрялся с помощью tmemorystream занимать всю оперативную память
Согласен с GunSmoker, вам не нужно загружать в память весь файл. Способ с побайтовой перезаписью в моем посте выше не самый быстрый, но по памяти, наверное, самый "легкий".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как переместить окно на экране? | olga4eg | Общие вопросы C/C++ | 0 | 28.08.2010 23:06 |
Открыть файл как Hex найти там некий участок кода, заменить его и сохранить | AstraZak | Общие вопросы C/C++ | 10 | 05.03.2010 18:58 |
Как переместить мигающий курсор? | Сергей089 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 04.06.2009 17:35 |
Как переместить DXImageList ? | SG13 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 30.03.2008 11:54 |
Как переместить картинку? | Костя | Помощь студентам | 2 | 23.12.2006 17:53 |