实现memmove

来源:互联网 发布:知柏地黄丸怎么样 编辑:程序博客网 时间:2024/04/29 05:55

需要考虑其中一个为NULL的情况。

#include <iostream>using namespace std;void *memmove(void *aDest, void *aSrc, size_t lenght){if(aDest==NULL||aSrc==NULL){return NULL;}char *dest = (char *) aDest;char *src = (char* )aSrc;if(dest>src){dest=dest+lenght-1;src=src+lenght-1;while(lenght--){*dest--=*src--;}}else if(dest<src){while(lenght--){*dest++=*src++;}}return dest;}int main(int argc ,char ** argv){char  a[]="fff";char b[]="ggggg";memmove(b,a,2);cout<<b<<endl;}



0 0
原创粉丝点击