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


_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

Эквивалент в .NET Framework

См. также

Ссылки

Манипуляция буфером

memchr, wmemchr

memcmp, wmemcmp

memcpy, wmemcpy

memset, wmemset