|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2012, 22:30 | #1 |
Регистрация: 15.04.2012
Сообщений: 3
|
Алгоритм записи чтения нетипизированого файла
Добрый вечер =), очень прошу, посмотрите, что не правильно
суть в чем, создаю масивы указателей, выделяю 40кб, нужно записать в нетипизированый файл, и считать с нетипизированого файла, компилятор материться Код:
Последний раз редактировалось Stilet; 15.04.2012 в 22:45. |
15.04.2012, 22:48 | #2 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
Код:
I'm learning to live...
|
|||
15.04.2012, 23:04 | #3 |
Регистрация: 15.04.2012
Сообщений: 3
|
Сейчас объясню, да правильно невнимательно набрал
getmem(a[2],40000); Я не засоряю память, я делаю прогу сортировки масивов, больше чем 64 кб, для этого мне нужно использовать динамическую память, я создаю массиву указателей и со смещением присваиваю в ячейку памяти число например pr:=ptr(seg(a[1]^),ofs(a[1]^)); pr^:=100; и так дальше pr:=ptr(seg(a[1]^),ofs(a[1]^)+1); pr^:=100; Я делаю сортировку матрицы типа 2х2х40000, и хочу перед сортировкой одним методом сделать бекап, а потом перед сортировкой другим методом востановить изначальный массив, который записам через указатели с гетмемом и значениями со смещение. [QUOTE=Stilet;1022206]По-моему тут разименовывать нужно: blockread (f,a[1]^,40000); Аааа не хочет, мне надо считать именно указатель с данными Последний раз редактировалось Stilet; 15.04.2012 в 23:46. |
16.04.2012, 19:59 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Указатель записывать в файл и считывать из файла абсолютно бесмысленно, т.к. он имеет смысл только в период работы программы. Даже при следующем запуске указатели могут указывать на другие адреса памяти.
Поэтому советую прислушаться к словам Stilet. Кстати, длина указателя всего 4 байта. Считывать или записывать что-то за его пределами (остальные 39996 байт) бесмысленно, т.к. там содержится мусор (при записи). А при чтении есть вероятность попрортить что-то в оперативной памяти. Последний раз редактировалось s-andriano; 16.04.2012 в 20:17. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Попытка чтения или записи в защищенную память. | zzz6 | Общие вопросы C/C++ | 2 | 23.03.2012 20:26 |
Алгоритм программного чтения кода(наподобие чтения тегов в браузерах) | psih_stalker | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 10.01.2012 21:32 |
Вопрос по отключению устройств чтения/ записи | xaero93 | Помощь студентам | 1 | 27.07.2010 21:03 |
С++. Кеширование чтения\записи файла | Vinny | Помощь студентам | 1 | 03.06.2009 00:43 |