Вниз
Скачать: CL | DM;

Копирование куска массива   Найти похожие ветки 

← →
Steel Ice   (2002-04-30 22:36) [0]

Вот такой вот вопросик. Вроде несложный.
Нужно скопировать кусок одного массива в другой.
Допустим вот у нас есть:
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го элемента.

Зарание спасибо.


← →
MBo ©   (2002-04-30 22:47) [1]

move(src[37],dst[28],50*sizeof(byte));


← →
[891rpm]   (2002-04-30 22:53) [2]

Я думаю, что можно создать пару десятков потоков ;O)* и запихнуть процедуру присвоения...

Вообще-то, для такого рода операций обычно используют указатели или (что много круче) ассембленые вставки...

Надеюсь что помог...


← →
Steel Ice   (2002-04-30 23:03) [3]

Мне не нуна крутасти, мне нуна фунциклирование :)

2MBo: агромное сапасибо, разберуси...

2[891rpm]: Угу. Я и думал что указатели в общемто, но вот есть замечатльная такая фунция мув. Сойдет.


в общим спасибо всем :)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
1-50035
AMQ
2002-05-01 16:04
2002.05.16
Парочка вопросов


1-50041
Kutuzov
2002-04-22 15:37
2002.05.16
Нужен алгоритм следующей функции...


3-49816
Art1
2002-04-17 16:31
2002.05.16
Как программно узнать колическто строк в DBGride?


1-50039
Dimedrol
2002-04-30 13:43
2002.05.16
Ошибка при выходе...


1-50052
DiGiTaL
2002-05-01 19:01
2002.05.16
Popup-меню открывается только 1 раз... и всё...




   Наверх