_memccpy

复制缓冲区中的字符。

语法

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

参数

dest
指向目标的指针。

src
指向源的指针。

c
要复制的最后一个字符。

count
字符数。

返回值

如果复制了 c 字符,则 _memccpy 返回指向 dest 中紧跟在字符后面的字符型的指针。 如果未复制 c,则返回 NULL

备注

_memccpy 函数将 src 的 0 个或更多个字符复制到 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

另请参阅

缓冲区操作
memchrwmemchr
memcmpwmemcmp
memcpywmemcpy
memsetwmemset