本文共 792 字,大约阅读时间需要 2 分钟。
#includeusing namespace std;void* memmove(void* str1,const void* str2,size_t n){ char* pStr1= (char*) str1; const char* pStr2=(const char*)str2; if ( ) { for(size_t i=0;i!=n;++i){ *(pStr1++)=*(pStr2++); } } else{ pStr1+=n-1; pStr2+=n-1; for(size_t i=0;i!=n;++i){ *(pStr1--)=*(pStr2--); } } return ( );}
pStr1< pStr2 str1
pStr1+n < pStr2 str2
pStr1+n < pStr2 || pStr2+n
pStr2+n
很清楚了,pstr1<pstr2时从头部开始复制,pstr1>pstr2从尾部开始复制
转载地址:http://ukiab.baihongyu.com/