![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
![]()
Здравствуйте. Помогите в работе с памятью!
Я читаю в память весь файл (выдержка из кода) Код:
![]() |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Точно массив не подойдет?
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Есть готовый класс TFileStream. Используйте его, либо его начинку.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
![]()
BDA, к сожалению нет, тк объёмы памяти довольно большие.
Человек_Борща, спасибо, но там вроде бы тоже внутренний буфер используется. ![]() Последний раз редактировалось dolphin705; 20.04.2012 в 10:05. Причина: 1 |
![]() |
![]() |
![]() |
#5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
dolphin705, большие объемы чего? Из вашего условия следует, что вам нужно только 256 байт дополнительной памяти
![]() Или вы уже и так использовали всю память? Код:
![]()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 20.04.2012 в 10:16. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.08.2008
Сообщений: 213
|
![]()
Извиняюсь, может просто не доскональна всё объяснил. В примере Size может быть до 100 и даже больше мегабайт. 256 байт это кусок переноса (к примеру). На сколько я знаю стек обычной программы 100 мб. точно не сможет вместить.
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Чего-то я не понял.
Открыли файл. Спозиционировали в конец минус 256 байт. Прочитали 256 байт. Отрезали конец. Перешли в начало. Записали 256 байт. Закрыли файл. Это секундная операция даже на гиговых файлах. Вопрос: нафига надо грузить в память файл целиком?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
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 |