mem函数源码
1.memcpy函数
- 原型:
void *memcpy(void *dest, const void *src, int count)
- 作用:由src指定内存区域拷贝count个字符到dest所指定的内存区域。
- 代码:
void *my_memcpy(void *dest, const void *src, int count)
{
unsigned char *p = (unsigned char *)dest;
unsigned char *q = (unsigned char *)src;
while(count--)
{
*p++ = *q++;
}
return dest;
}
int main()
{
char a[20];
char *p;
p = (char *)my_memcpy(a, "hello world!", 12);
*(p+12) = '\0';
puts(a);
return 0;
}
2.memccpy函数
- 原型:
void *memccpy(void *dest, const void *src, char ch, int count)
- 作用:如果src前n个字节中存在’ch’,返回指向字符’ch’后的第一个字符的指针;
返回NULL,并且复制src。
- 代码:
#include <string.h>
void *my_memccpy(void *dest, const void *src, char ch, int count)
{
while(count--)
{
*(char *)des