memcpy

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Копирует данные из одного массива в другой.

Параметры:

(dest[], const source[], index=0, numbytes, maxlength=sizeof dest)
dest[] Массив, в который будут скопированы данные.
const source[] Массив-источник данных для копирования.
index Номер байта (не ячейки!) в массиве source, с которого будет начато копирование (необязательный параметр).
numbytes Количество байтов (не ячеек!) для копирования.
maxlength Размер массива dest (необязательный параметр).


Возвращаемое значение:

1 в случае успеха или 0 при неправильных параметрах (index или numbytes меньше 0, index + numbytes больше размера массива maxlen * <размер ячейки>).

Info rhombus.png
Примечание
Не учитываются проблемы, связанные с порядком байтов в ячейке. Если количество байтов в numbytes не кратно размеру ячейки, байты из последней ячейки могут скопироваться неправильным образом (например, вместо байтов 0, 1 и 2 скопируются 2, 3 и 4).


Пример использования:

main()
{
    static str1[] = "abcd";
    static str2[sizeof(str1)] = "efgh";

    printf("str1: %s", str1); // Вывод: "str1: abcd"
    printf("str2: %s", str2); // Вывод: "str2: efgh"

    memcpy(str2, str1, _, sizeof(str1) * (cellbits / charbits));

    printf("str1: %s", str1); // Вывод: "str1: abcd"
    printf("str2: %s", str2); // Вывод: "str2: abcd"
}