_memccpy
Копирует символы из буфера.
void *_memccpy(
void *dest,
const void *src,
int c,
size_t count
);
Параметры
dest
Указатель на место назначения.src
Указатель на источник.c
Последний символ, который нужно скопировать.count
Число символов,
Возвращаемое значение
Если символ c копируется, _memccpy возвращает указатель на char в dest, который следует сразу за символом. Если c не копируется, то возвращается значение NULL.
Заметки
Функция _memccpy копирует 0 или более символов из src в dest, останавливаясь, когда символ c скопирован, или когда count символов были скопированы, в зависимости от того, что наступит раньше.
Примечание по безопасности Убедитесь, что буфер места назначения равен или превосходит буфер источника. Дополнительные сведения см. в разделе Как избежать переполнения буфера.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_memccpy |
<memory.h> или <string.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Библиотеки
Все версии библиотек времени выполнения C.
Пример
// crt_memccpy.c
#include <memory.h>
#include <stdio.h>
#include <string.h>
char string1[60] = "The quick brown dog jumps over the lazy fox";
int main( void )
{
char buffer[61];
char *pdest;
printf( "Function: _memccpy 60 characters or to character 's'\n" );
printf( "Source: %s\n", string1 );
pdest = _memccpy( buffer, string1, 's', 60 );
*pdest = '\0';
printf( "Result: %s\n", buffer );
printf( "Length: %d characters\n", strlen( buffer ) );
}
Output
Function: _memccpy 60 characters or to character 's'
Source: The quick brown dog jumps over the lazy fox
Result: The quick brown dog jumps
Length: 25 characters