memccpy()

Копировать содержимое области памяти до заданного байта

Прототип:

#include <string.h>
void * memccpy( void *dest,
const void *src,
int c,
size_t cnt );

Аргументы:

dest
Указатель на буфер, в который функция скопирует данные.
src
Указатель на буфер, из которого функция будет копировать данные.
c
Символ, при нахождении которого останавливается копирование.
cnt
Максимальный размер копируемых данных.

Библиотека:

libc

Описание:

Функция memccpy() копирует данные из src в dest, пока не обнаружит символ c (включительно), или пока не скопирует cnt байт до обнаружения символа c.

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

Указатель на байт в буфере dest, в котором располагается символ c, если он найден и скопирован, иначе NULL.

Примеры:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *msg = "This is the string: not copied";
int main( void )
{
char buffer[80];
memset( buffer, '\0', 80 );
memccpy( buffer, msg, ':', 80 );
printf( "%s\n", buffer );
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out This is the string:

Классификация:

POSIX 1003.1 X/Open Systems Interfaces Extension

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

memchr(), memcmp(), memcpy(), memicmp(), memmove(), memset()




Предыдущий раздел: Описание API системной библиотеки