strcpy 和 memcpy两个函数的自己实现
strcpy 和 memcpy两个函数的自己实现
觉得很考验编程的基本功。
比如输入参数的错误检测,编程的风格等。
char*strcpy(char*strDest, const char*strSrc)
{
assert((strDest != NULL) && (strSrc != NULL));
char *address = strDest;
while ((*strDest++ = *strSrc++) != '')
continue;
return address;
}
void *memcpy(void *pvTo, const void *pvFrom, size_t size)
{
assert((pvTo != NULL) && (pvFrom != NULL)); // 使用断言
byte *pbTo = (byte *) pvTo; // 防止改变pvTo 的地址
byte *pbFrom = (byte *) pvFrom; // 防止改变pvFrom 的地址
while(size -- > 0 )
*pbTo ++ = *pbFrom ++ ;
return pvTo;
}