Поделиться через


_memccpy

Копирует символы из буфера.

Синтаксис

void *_memccpy(
   void *dest,
   const void *src,
   int c,
   size_t count
);

Параметры

dest
Указатель на назначение.

src
Указатель на источник.

c
Последний символ для копирования.

count
Число символов.

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

Если символ c копируется, _memccpy возвращает указатель на символ dest , который сразу же следует за символом. Если c он не копируется, возвращается NULL.

Замечания

Функция _memccpy копирует ноль или больше символов 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 ) );
}

Выходные данные

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

См. также

Манипуляция буфером
memchr, wmemchr
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset