![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование куска массива
Steel Ice © (2002-04-30 22:36:00)Вот такой вот вопросик. Вроде несложный.
Нужно скопировать кусок одного массива в другой.
Допустим вот у нас есть:
var
src:array[0..100] of byte;
dst:array[0..4095] of byte;
И мне надо 50 байтиков из массива srcперенести в массив dst.
Но вот так например:
for i:=0 to 50 do dst[i]:=src[i];
не катит. Ибо долго очень. Мне нужно именно перенести участок памяти. Потому что это только пример, на реале будут переносы по 2000-3000 байт за раз. И очень часто. Так что фором не катит чтоп не тормозило. Как бы это лучше всего сделать.
А еще чтобы можно было переносить со смещением. Тобишь чтбоы начинался массив src в массиве dst не с начала, а допустим с 37го элемента.
Зарание спасибо.
Steel Ice (2002-04-30 23:03:00) [1]Мне не нуна крутасти, мне нуна фунциклирование :)
2MBo: агромное сапасибо, разберуси...
2[891rpm]: Угу. Я и думал что указатели в общемто, но вот есть замечатльная такая фунция мув. Сойдет.
в общим спасибо всем :)
[891rpm] (2002-04-30 22:53:00) [2]Я думаю, что можно создать пару десятков потоков ;O)* и запихнуть процедуру присвоения...
Вообще-то, для такого рода операций обычно используют указателиили (что много круче) ассембленые вставки...
Надеюсь что помог...
MBo (2002-04-30 22:47:00) [3]move(src[37],dst[28],50*sizeof(byte));