700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言实用算法系列之memcpy memmove函数原理与实现

C语言实用算法系列之memcpy memmove函数原理与实现

时间:2022-06-13 03:09:52

相关推荐

C语言实用算法系列之memcpy memmove函数原理与实现

直接看代码

#include<stdio.h>#include<string.h>/*返回指向pDest的指针*/void* MemCopy(void* pDest, const void* pSrc, int nCount){char* p = (char*)pDest;char* p1 = (char*)pSrc;while (nCount--)*p++ = *p1++;return pDest;}/*返回指向pDest的指针,分有重叠和无重叠两种情况*/void* MemMove(void* pDest, const void* pSrc, int nCount){char* dest = (char*)pDest;char* src = (char*)pSrc;if (dest > src && dest < src + nCount){//有重叠src += nCount;dest += nCount;while (nCount--)*--dest = *--src;}else{//无重叠while (nCount--)*dest++ = *src++;}return pDest;}char str1[7] = "aabbcc";int main(void){printf("The string: %s\n", str1);MemMove(str1 + 2, str1, 4);printf("New string: %s\n", str1);strcpy_s(str1, sizeof(str1), "aabbcc"); // reset stringprintf("The string: %s\n", str1);memmove(str1 + 2, str1, 4);printf("New string: %s\n", str1);}

输出结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。