C和指针之memmove函数 memcpy函数 strcspn函数 strspn函数 strrstr函数实现
【摘要】 1 memmove函数的实现
#include <stdio.h>#include <string.h> void* my_memmove(void*dest, const void*src, size_t len) { char *pdest = (char *)dest; const char* psrc = (char ...
1 memmove函数的实现
-
#include <stdio.h>
-
#include <string.h>
-
-
void* my_memmove(void*dest, const void*src, size_t len)
-
{
-
char *pdest = (char *)dest;
-
const char* psrc = (char *)src;
-
if ((psrc < pdest) && (pdest < psrc + len))
-
{
-
pdest = pdest + len - 1;
-
psrc = psrc + len - 1;
-
while (len--)
-
{
-
printf("*pstr is %c and *pdest is %c\n", *psrc, *pdest);
-
*pdest-- = *psrc--;
-
}
-
}
-
else
-
{
-
while (len--)
-
{
-
*pdest++ = *psrc++;
-
}
-
}
-
return dest;
-
}
-
-
int main()
-
{
-
char s1[10] = "chenyu";
-
printf("dest is %s\n", s1);
-
printf("src is %s\n", s1 - 3);
-
memmove(s1, s1 - 3, 6);
-
printf("s1 is %s\n", s1 + 3);
-
char s2[10] = "chenyu";
-
my_memmove(s2, s2 - 3, 6);
-
printf("s2 is %s\n", s2 + 3
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/84556251
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)