memccpy() 原型如下:
[C++] 纯文本查看 复制代码 #include <string.h>
void *memccpy(void *dest, const void *src, int c, size_t n);
该函数用来复制 src 所指的内存的前 n 个字节到 dest 所指的内存空间去。但它这里还有个特点,在复制过程中会检查第 3 个参数 c,如果一旦遇到该字符,那么复制将中断呢。
函数返回指向 dest 中值为 c 的下一个字节的指针。如果 src 指向的前 n 个字节中没有值为 c 的字符那么返回 NULL 。
测试代码:
[C++] 纯文本查看 复制代码 #include <stdio.h>
#include <string.h>
int main()
{
char dest[128];
char src[] = "www.groad.net";
char tmp[] = "hello linux";
char *p;
bzero(dest, 128);
p = memccpy(dest, src, 'd', sizeof(src));
printf ("%s\n", dest);
memcpy(dest+9, tmp, sizeof(tmp));
printf ("%s\n", p);
return 0;
}
运行输出: |