注:没有考虑到内存重叠的情况
#include "stdafx.h"
#include <iostream>
#include <assert.h>
char* myStrCpy(char *pDst, const char *pSrc)
{
assert(NULL != pDst);
assert(NULL != pSrc);
char *pDT = pDst;
while ((*pDT++ = *pSrc++) != '\0');
return pDst;
}
int _tmain(int argc, _TCHAR* argv[])
{
char src[10] = "hellhelo";
char dst[10];
myStrCpy(dst, src);
//myStrCpy(src + 1, src); error:内存重叠
std::cout << dst;
getchar();
return 0;
}