Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

Вопрос по MapViewOfFile   Найти похожие ветки 

 
Yuri Btr ©   (2003-08-29 10:03) [0]

Ув. мастера, я отображаю в память некоторый бинарный файл с помощью MapViewOfFile, эта ф-ия возвращает указатель на первый байт файла в памяти. Как я могу обратиться ко всему диапазону памяти как к строке PChar (или String) начиная со смещения возвращаемой позиции первого байта и до размера файла+начальное смещение?
Дело в том, что в одном примере я нашёл такое -
MMF.Data:PByte;
MMF.Data:=MapViewOfFile(..);
PChar(MMF.Data) - но эта ф-ия естественно возвращает только часть файла - до первого попавшегося байта #0, а мне нужно например обработать весь диапазон байтов (длина файла)
Я пробовал так
SourceString:string;
SetLength(SourceString,MMF.Size);
for i:=0 to Length(SourceString)-1
do
SourceString[i+1]:=PChar(Integer(MMF.Data)+i)[0];
Но этот вариант неэффективен - очень медленно работает
Есть ли другие способы скопировать например в String(Pchar) определённое кол-во байтов области памяти начиная с заданного смещения?
Заранее спасибо.


 
Polevi ©   (2003-08-29 10:04) [1]

CopyMemory


 
MBo ©   (2003-08-29 10:07) [2]

или Move


 
Yuri Btr ©   (2003-08-29 10:10) [3]

Большое вам спасибо....
Пойду на MSDN смотреть :)



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-33512
sargos
2003-08-19 03:22
2003.09.11
Как избежать лишний трафик?


1-33541
VISA
2003-08-29 12:58
2003.09.11
Проиграть wav в фоновом режиме


4-33851
Vorobyev Sergey
2003-07-10 10:24
2003.09.11
Можно ли получить Handle процесса, не зная его PID?


1-33577
MIKL
2003-08-28 16:04
2003.09.11
Cоздание простейшего графического редактора


1-33544
Banderlog
2003-08-29 11:38
2003.09.11
Проверка файла на открытость