memccpy – копирование непересекающихся массивов.
Синтаксис:
#include < string.h >
void *memccpy (void *destination, const void *source, int c, size_t n);
Аргументы:
destination – указатель на массив в который будут скопированы данные.
source – указатель на массив источник копируемых данных.
c – код символа, при встрече которого копирование завершается.
n – количество байт для копирования.
Возвращаемое значение:
Функция возвращает указатель на массив, в который скопированы данные, если скопировано n байт.
NULL если в первых n байтах массива источника встречен символ, код которого соответствует указанному в аргументе c.
Описание:
Функция memcpy копирует данные из массива (области памяти), на который указывает аргумент source, в массив (область памяти), на который указывает аргумент destination пока не встретится символ, код которого соответствует указанному в аргументе c или пока не будет скопировано n байт данных.
Если массивы перекрываются, результат копирования будет не определен.
Пример:
В примере создается массив src, содержащий строку «1234567890», и пустой массив dst. Затем из массива src копируются данные в массив dst пока не будет встречен символ '5' или пока не будет скопировано 10 байт. Затем массив dst выводится на консоль.
#include < stdio.h > //Для printf
#include < string.h > //Для memccpy
int main (void)
{
// Массив источник данных
unsigned char src[15]=”1234567890”;
// Массив приемник данных
unsigned char dst[15]=””;
// Копируем данные из массива src в массив dst
memccpy (dst, src,’5’, 10);
// Вывод массива dst на консоль
printf (“dst: %s\n”,dst);
return 0;
}
| |
Результат:
Вывод в консоль:
Смотри так же:
memccpy
memcpy
memmove
memset
mktime
strcat
strcpy
strncat
strncpy
strxfrm
|